logo

Bash If

בנושא זה נבין כיצד להשתמש אם הצהרות בסקריפטים של 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, הפלט ייראה כך:

Bash If Statement

דוגמה 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 

תְפוּקָה

Bash If Statement

דוגמה 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 

תְפוּקָה

Bash If Statement

דוגמה 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 

תְפוּקָה

יישומון יישומון
Bash If Statement

דוגמה 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 

תְפוּקָה

Bash If Statement

דוגמה 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 

תְפוּקָה

Bash If Statement

אפשרויות להצהרת 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 Statement

סיכום

בנושא זה, דנו כיצד נוכל להשתמש בהסתעפות מותנית בזרימה הרציפה של ביצוע הצהרות עם הצהרת bash if.