הצהרות אם-אחר בסקריפטים של bash דומות לכל שפות תכנות אחרות; זו שיטה שתוכנית יכולה לקבל החלטות.
ב if-else
הצהרות, ביצוע גוש הצהרה נקבע על בסיס התוצאה של if
מַצָב.
התחביר של if-else
ההצהרה בבאש היא:
if [condition] then
//if block code else // else block code fi
אם התנאי מוערך ל- true
, if
קוד חסימה מבוצע, ואם התנאי מוערך ל false
ואז else
קוד חסימה מבוצע.
עלינו לסיים את if
הצהרה עם fi
מילת מפתח.
הביטוי המשמש את המבנה המותנה חייב להערך לאחד true
או false
. הביטוי יכול להיות מחרוזת אחת או משתנה.
$a -lt $b
או $a < $b
$a -gt $b
או $a > $b
$a -le $b
או $a <= $b
$a -ge $b
או $a >= $b
$a -eq $b
או $a == $b
$a -ne $b
או $a != $b
הביטוי בתוך if
הצהרה יכולה להיות גם שילוב הגיוני של השוואות מרובות.
המפעילים ההגיוניים הם:
$a AND $b
או $a && $b
מעריך ל- true
כאשר שני המשתנים או ההצהרות נכונים.$a OR $b
או $a || $b
מעריך ל- true
כאשר אחד המשתנים או ההצהרות נכונים.לדוגמה:
#!/bin/bash first_name='John' last_name='Doe' if [[ $first_name = 'John' && $last_name = 'Doe' ]] then echo 'hello John Doe' fi
ה if
הצהרה היא רק אמירה מותנית פשוטה. אם התנאי בתוך if[]
מעריך ל- true
ואז if
חסימת קוד מבוצעת.
דוגמא:
#!/bin/bash read -p 'Enter a number: ' mynumber if [ $mynumber -gt 10 ] then
echo 'The number you entered is greater than 10' fi
הערה:בדוגמה שלעיל, אם אנו מזינים מספר שהוא פחות מ -10, שום דבר לא מודפס.כאשר התוצאה של if
התנאי הוא false
ואז הקוד ב | _ _ _ הבלוק מבוצע, בתנאי שיש כזה.
לדוגמה:
else
ה #!/bin/bash read -p 'Enter a number: ' mynumber if [ $mynumber -gt 10 ] then
(else if) משמש כשיש מספר
echo 'The number you entered is greater than 10' else
echo 'The number you entered is less than 10' fi elif
תנאים.
לדוגמה:
if
יכול להיות שגם קיננו #!/bin/bash read -p 'Enter your exam grade: ' grade if [ $grade -ge 80 ] then
הצהרות.
echo 'You got A' elif [ $grade -ge 70 ] then
echo 'You got B' elif [ $grade -ge 60 ] then
echo 'You got C' else
echo 'Fail' fi
לדוגמה:
if