כיצד להשתמש בהצהרת המקרה של באש

How Use Bash Case Statement



הצהרות מקרה Bash דומות לאמירות אם-אחרת אך קלות ופשוטות יותר. זה עוזר להתאים משתנה אחד למספר ערכים. הוא משמש כאשר אתה זקוק להצהרות IF-else עם מספר הצהרות Elif ... הוא די דומה להחלפת משפט ב- C אולם משפט bash case אינו זז קדימה לאחר התאמת התבנית.

במאמר זה נסביר כיצד להשתמש בהצהרת המקרה של Bash עם דוגמה במערכת ההפעלה Linux.







תחביר של הצהרת מקרה bash

להלן התחביר של משפט bash case:



תחביר:



מקרה משתנה $ ב
תבנית-1)
פקודות
;;
תבנית-2)
פקודות
;;
תבנית-3)
פקודות
;;
תבנית- N)
פקודות
;;
*)
פקודות
;;
esac
  • הצהרת התיק מתחילה בתיק ומסתיימת ב- esac
  • ה-) משמש לסיום תבנית. כדי להפריד מספר דפוסים, | מפעיל משמש כפי שמוצג להלן:
מקרה משתנה $ ב
תבנית-1|תבנית-2)
פקודות
....
....
;;
תבנית-3|תבנית-4)
פקודות
....
....
;;
  • תבנית עם פקודות ידועה בשם סעיף וכל סעיף מסתיים ב- (;;).
  • ניתן להשתמש בסמל הכוכבית* להגדרת מקרה ברירת המחדל.
  • הצהרת מקרה הבש תואמת תחילה את משתנה $ הקלט עם הדפוסים השונים. אם תבנית מתאימה, מערכת הפקודות המתאימה עד לפסיק -פסיק כפול (;;) תתבצע.

דוגמה 1:

הדוגמה הבאה עוסקת בחשבון הכספים שבו הוא מבקש מהמשתמש להזין את שם החודש. אם קלט זה תואם את הדפוסים המוגדרים בתסריט, פקודת ההד המתאימה תתבצע. פקודת ההד תציג מידע על האירוע הבינלאומי של אותו חודש מסוים.





כדי להשתמש בסקריפט זה, צור קובץ טקסט פשוט; תן לזה שם עם סיומת הקובץ .sh. הוסף בו את הסקריפט הבא ושמור אותו. לאחר מכן הקצה קובץ זה לביצוע הרשאות על ידי הפעלת הפקודה הבאה במסוף:

$סודו chmod 777שם קובץ.ש

כדי לבצע קובץ bash זה, פשוט הפעל ./ ואחריו שם קובץ bash כדלקמן:



$./שם קובץ.ש

כאשר תבצע את התסריט, תתבקש להזין את שם החודש כקלט. אם שם החודש תואם, הוא יציג את האירוע המתאים באותו חודש ספציפי, אחרת לא יוצג מידע תואם.

שים לב ש- shopt -s nocasematch משמש להתאמת תבנית ללא קשר למקרה שלה.

חנויות התאמה לילית

זרק 'הזן את שם החודש'
לקרואחוֹדֶשׁ
מקרה חודש דולר ב
יָנוּאָר)
זרק 'יום החינוך הבינלאומי ה -24 בינואר'.
;;
פברואר)
זרק '20 בפברואר יום העולם לצדק חברתי'.
;;
מרץ)
זרק 'יום ה -8 במרץ הבינלאומי לאישה'.
;;
אַפּרִיל)
זרק '7 באפריל יום הבריאות העולמי'
;;
מאי)
זרק 'יום המשפחות הבינלאומי ב -15 במאי'
;;
יוני)
זרק 'יום הפליטים העולמי ב -20 ביוני'
;;
יולי)
זרק 'יום האוכלוסין העולמי ה -11 ביולי'
;;
*)
זרק 'לא נמצא מידע תואם'
;;
esac

דוגמה 2:

הדוגמה הבאה עוסקת בחשבון המזומנים bash שבו מתבקש משתמש להזין את שם המדינה. אם קלט זה תואם את הדפוסים המוגדרים בתסריט, פקודת ההד המתאימה תתבצע. פקודת ההד תציג מידע על בירת המדינה הספציפית.

כדי להשתמש בסקריפט זה, בצע את אותה שיטה המתוארת בדוגמה שלמעלה. לאחר שתסיים, בצע את התסריט ותתבקש להזין את שם המדינה כקלט. אם שם המדינה תואם את שמות המדינה שהוגדרו מראש, הוא יציג את שם ההון של אותה מדינה, אחרת ההודעה מידע שאינו זמין תוצג.

#!/bin/bash
חנויות התאמה לילית
זרק -n 'הזן את שם המדינה:'
לקרואמדינה

זרק -n 'בירת$ מדינההוא '
מקרה $ מדינה ב
פקיסטן)
זרק -n 'איסלאמאבאד'
;;
פיג'י)
זרק -n 'יָבֵשׁ'
;;
בְּרִיטַנִיָה| 'הממלכה המאוחדת')
זרק -n 'לונדון'
;;
טורקיה)
זרק -n 'אנקרה'
;;
שימושים)
זרק -n 'וושינגטון'
;;
*)
זרק -n 'מידע לא זמין'
;;
esac
זרק ''

הצהרות מקרה Bash הופכות את הקריאה וההבנה של תסריט ה- bash לקל יותר. במאמר זה, סקרנו כיצד לכתוב ולהשתמש בהצהרות bash. עכשיו אתה יכול לכתוב סוג של הצהרה אם-אחרת מרובת רמות בקלות ובפשטות על ידי שימוש בהצהרות מקרה.