בנושא זה נבין כיצד להשתמש אם הצהרות בסקריפטים של Bash כדי להשלים את המשימות האוטומטיות שלנו.
Bash אם הצהרות מועילות. הם משמשים לביצוע משימות מותנות בזרימה הרציפה של ביצוע הצהרות. אם הצהרות בדרך כלל מאפשרות לנו לקבל החלטות בתסריטי הבאש שלנו. הם עוזרים לנו להחליט אם להפעיל פיסת קודים או לא בהתבסס על התנאי שאנו עשויים להגדיר.
מטריצות בתכנות c
בסיסי אם הצהרות
הצהרת if בסיסית מצווה שאם תנאי מסוים נכון, אז בצע רק קבוצה נתונה של פעולות. אם זה לא נכון, אז אל תבצע את הפעולות הללו. אם ההצהרה מבוססת על הפורמט הבא:
תחביר
if [ expression ]; then statements fi
ההצהרה בין לאחר מכן ו לִהיוֹת (אם אחורה) יבוצע רק אם הביטוי (בין הסוגריים המרובעים) נכון.
הערה:שים לב לרווחים המשמשים בשורה הראשונה ונקודה-פסיק בסוף השורה הראשונה; שניהם חובה להשתמש.אם הצהרה מותניתמסתיים עםלִהיוֹת.
- לשימוש במספר תנאים עם אופרטור AND:
if [ expression_1 ] && [ expression_2 ]; then statements fi
- לשימוש במספר תנאים עם אופרטור OR:
if [ expression_1 ] || [ expression_2 ]; then statements fi
- עבור ביטויים מורכבים עם אופרטורים AND & OR, נוכל להשתמש בתחביר הבא:
if [ expression_1 && expression_2 || expression_3 ]; then statements fi
להלן כמה דוגמאות המדגימות את השימוש בהצהרת if:
דוגמה 1
בדוגמה זו, קח קלט משתמש של מספר כלשהו ובדוק אם הערך גדול מ-125.
#!/bin/bash read -p ' Enter number : ' number if [ $number -gt 125 ] then echo 'Value is greater than 125' fi
תְפוּקָה
אם נזין את המספר 159, הפלט ייראה כך:
דוגמה 2
בדוגמה זו, אנו מדגימים את השימוש ב אם הצהרה עם תרחיש פשוט של השוואה בין שתי מחרוזות:
#!/bin/bash # if condition is true if [ 'myfile' == 'myfile' ]; then echo 'true condition' fi # if condition is false if [ 'myfile' == 'yourfile' ]; then echo 'false condition' fi
תְפוּקָה
דוגמה 3
בדוגמה זו, אנו מדגימים כיצד להשוות מספרים באמצעות הצהרת if:
#!/bin/bash #if condition (greater than) is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' fi #if condition (greater than) is false if [ 3 -gt 10 ]; then echo '3 is not greater than 10.' fi #if condition (lesser than) is true if [ 3 -lt 10 ]; then echo '3 is less than 10.' fi #if condition (lesser than) is false if [ 10 -lt 3 ]; then echo '10 is not less than 3.' fi #if condition (equal to) is true if [ 10 -eq 10 ]; then echo '10 is equal to 10.' fi #if condition (equal to) is false if [ 10 -eq 9 ]; then echo '10 is not equal to 9' fi
תְפוּקָה
דוגמה 4
בדוגמה זו, נגדיר כיצד להשתמש באופרטור AND כדי לכלול מספר תנאים בביטוי if:
#!/bin/bash # TRUE && TRUE if [ 8 -gt 6 ] && [ 10 -eq 10 ]; then echo 'Conditions are true' fi # TRUE && FALSE if [ 'mylife' == 'mylife' ] && [ 3 -gt 10 ]; then echo 'Conditions are false' fi
תְפוּקָה
יישומון יישומון
דוגמה 5
בדוגמה זו, נגדיר כיצד להשתמש באופרטור OR כדי לכלול מספר תנאים בביטוי if:
#!/bin/bash # TRUE || FALSE if [ 8 -gt 7 ] || [ 10 -eq 3 ]; then echo ' Condition is true. ' fi # FALSE || FALSE if [ 'mylife' == 'yourlife' ] || [ 3 -gt 10 ]; then echo ' Condition is false. ' fi
תְפוּקָה
דוגמה 6
בדוגמה זו, נגדיר כיצד להשתמש ב-AND וב-OR כדי לכלול מספר תנאים בביטוי if:
#!/bin/bash # TRUE && FALSE || FALSE || TRUE if [[ 10 -eq 10 && 5 -gt 4 || 3 -eq 4 || 3 -lt 6 ]]; then echo 'Condition is true.' fi # TRUE && FALSE || FALSE if [[ 8 -eq 8 && 8 -gt 10 || 9 -lt 5 ]]; then echo 'Condition is false' fi
תְפוּקָה
אפשרויות להצהרת If ב-Bash Scripting
הצהרת If מכילה אפשרויות רבות לביצוע משימה ספציפית. ניתן להשתמש באפשרויות אלה עבור פעולות קבצים, פעולות מחרוזות וכו'. להלן מספר האפשרויות הנפוצות ביותר:
אפשרויות (מפעילים) | תיאור |
---|---|
! ביטוי | כדי לבדוק אם EXPRESSION הוא שקר. |
-n STRING | כדי לבדוק אם אורכו של STRING גדול מאפס. |
-z STRING | כדי לבדוק אם אורכו של STRING הוא אפס (כלומר, הוא ריק) |
STRING1 == STRING2 | כדי לבדוק אם STRING1 שווה ל-STRING2. |
STRING1 != STRING2 | כדי לבדוק אם STRING1 אינו שווה ל-STRING2. |
INTEGER1 -eq INTEGER2 | כדי לבדוק אם INTEGER1 שווה מספרית ל INTEGER2. |
INTEGER1 -gt INTEGER2 | כדי לבדוק אם INTEGER1 גדול מספרית מ INTEGER2. |
INTEGER1 -lt INTEGER2 | כדי לבדוק אם INTEGER1 קטן מבחינה מספרית מ INTEGER2. |
-d קובץ | כדי לבדוק אם FILE קיים וזה ספרייה. |
-e FILE | כדי לבדוק אם FILE קיים. |
-r FILE | כדי לבדוק אם FILE קיים והרשאת הקריאה ניתנת. |
-S FILE | לבדוק אם FILE קיים וגודלו גדול מאפס (מה שאומר שהוא לא ריק). |
-w FILE | כדי לבדוק אם FILE קיים והרשאת הכתיבה ניתנת. |
x קובץ | כדי לבדוק אם FILE קיים והרשאת הביצוע ניתנת. |
קינן אם
אתה יכול להחיל כמה הצהרות 'אם' כנדרש בתוך סקריפט ה-bash שלך. אפשר גם להשתמש במשפט if בתוך 'אם' אחר. זה ידוע בשם Nested If Statement.
דוגמא
בדוגמה זו, נמצא 'אם מספר נתון גדול מ-50 ואם הוא מספר זוגי' על ידי שימוש בביטוי אם מקונן.
#!/bin/bash #Nested if statement if [ -gt 50 ] then echo 'Number is greater than 50.' if (( % 2 == 0 )) then echo 'and it is an even number.' fi fi
תְפוּקָה
אם נזין ערך ארגומנט כ-100, הפלט ייראה כך:
סיכום
בנושא זה, דנו כיצד נוכל להשתמש בהסתעפות מותנית בזרימה הרציפה של ביצוע הצהרות עם הצהרת bash if.