מדריך זה יראה לך כיצד להשתמש בהצהרות מותנות כדי לבדוק אם משתנה ריק ולאחר מכן לבצע פעולה לאחר מעשה. פעולות כאלה יכולות לכלול לולאה של בלוק קוד עד שהמשתנה אינו ריק, צא או פשוט התריע בפני המשתמש שהמשתנה ריק.
לפני שנתחיל, זה יהיה שימושי אם אתה מכיר סקריפטים בסיסיים של Bash.
Bash Basic - משתנים 101
משתנים הם אבני בניין ליבה של כל שפת תכנות אמיתית, ובש משתמש במשתנים. משתנים הם מכלי נתונים המשמשים לאחסון ערכים לשימוש בחלקים מאוחרים יותר של התוכנית.
כדי ליצור משתנה פשוט ב- Bash, אנו משתמשים בשם המשתנה.
לדוגמה:
#!/bin/bash$ i_am
לאחר שתאתחל את המשתנה, תוכל להקצות לו את הערך באמצעות סימן שוויון כ:
#!/bin/bash
אני= אובונטו
לאחר שהוכרז והוקצה, תוכל לקרוא לזה פשוט על ידי התייחסות אליו בשם כדלקמן:
#!/bin/bashזרק $ i_am
פעולה זו תחזיר את הערך המאוחסן במשתנה, כפי שמוצג בצילום המסך למטה.
הערה: התייחסות למשתנה הן במרכאות בודדות והן במרכאות כפולות מחזירה תוצאות שונות. משתנה בתוך מרכאות בודדות יהפוך למחרוזת מילולית, בעוד שבציטוט כפול הוא יקבל טיפול בשם משתנה.
להלן דוגמא:
כעת, כשיש לנו את יסודות המשתנים ב- Bash, נוכל להמשיך להתניות ולבדוק אם יש משתנה ריק.
לקבלת מדריך מפורט כיצד ליצור משתני bash, שקול את המשאב שלהלן:
https://linuxhint.com/variables_bash/
יסודות באש - הצהרות אם
אם אמירות הן עוד בלוק תכנות בסיסי ובאש יהיה נכה בלעדיהן. הם מאפשרים לנו לבצע פעולה אם תנאי נכון או לא נכון.
תן לנו לסכם בקצרה כיצד להשתמש ב- Bash אם, אם… אחרת ואם… elif… אחר
אם ס התייחסות
התחביר הכללי לשימוש במשפט if ב- Bash הוא כפי שמוצג להלן:
#!/bin/bashאם {מַצָב}
לאחר מכן
לַעֲשׂוֹת
לִהיוֹת
אנו מתחילים משפט if אם קוראים למילת המפתח if. לאחר מכן אנו מציינים את התנאי לבדיקה. המצב יכול להיות ביטוי פשוט או מורכב כל עוד הוא מעריך שהוא נכון או לא נכון.
לאחר מכן, הגדרנו את מילת המפתח המציינת את בלוק הקוד להפעלה אם התנאי מוערך כ- true.
לבסוף, אנו סוגרים את הצהרת if באמצעות מילת המפתח fi.
אם ... הצהרות אחרות
משפט bash if… else מציין פעולה נוספת אם התנאי מוערך כ- false. התחביר הכללי הוא:
#!/bin/bashאם {מַצָב}
לאחר מכן
לַעֲשׂוֹת
אַחֵר
לַעֲשׂוֹת
לִהיוֹת
דוגמא לשימוש במקרה
הרשה לי להשתמש בדוגמה פשוטה להמחשת השימוש באמירות if.
הצהרת ה- if היא כפי שמוצג להלן:
#!/bin/bashעל אחד=1
אם [[ $ מספר -gt5 ]]
לאחר מכן
זרק '$ מספרגדול מ 5 '
אַחֵר
זרק '$ מספרפחות מ 5 '
לִהיוֹת
הפלט הוא כפי שמוצג להלן:
מכיוון שיש לנו כעת את היסודות של אם אמירות מגויחות, הבה נמשיך בהדרכה זו.
בדוק אם הצהרות מפורטות להלן:
https://linuxhint.com/bash_conditional_statement/
כיצד לבדוק אם המשתנה ריק
דרך פופולרית ופשוטה לבדוק אם משתנה ריק הוא להשתמש באפשרות -z בהצהרת המצב.
ה- -z $ var מחזיר נכון אם המשתנה ריק ושקר אם לאו.
התחביר הכללי לבדיקה כזו הוא:
#!/bin/bashאם [[ -עם $ var ]]
לאחר מכן
לַעֲשׂוֹת
אַחֵר
לַעֲשׂוֹת
לִהיוֹת
סקריפט לדוגמא
תן לנו להמחיש סקריפט פשוט המחקה את הפקודה cd ומנווט בספרייה שצוין.
שקול את התסריט שלהלן:
#!/bin/bashזרק 'הזן נתיב כדי לנווט אל:'
לקרוא_נָתִיב
בזמן [[ -עם $ _ נתיב ]];לַעֲשׂוֹת
זרק 'אנא ספק נתיב'
בוצע
זרק 'ניווט אל$ _ נתיב'
CD $ _ נתיב
ברגע שנבצע את השאילתה לעיל, נקבל את הפלט כפי שמוצג להלן.
התסריט מתחיל בכך שהוא מבקש מהמשתמש להיכנס לספרייה שאליה הוא ינווט. לאחר מכן הוא בודק אם המשתנה ריק. אם הוא ריק, הוא מבקש מהמשתמש נתיב עד שהמשתנה אינו ריק.
ברגע שהנתיב זמין, הוא מנווט לספרייה המוגדרת ומדפיס את הסטטוס.
סיכום
מדריך קצר זה הראה לך כיצד לבדוק אם משתנה ריק באמצעות הדגל -z. זה בודק אם אורך המשתנה הוא 0 ואם 0, המשתנה ריק. זה יכול להיות חזק מאוד כאשר אתה צריך שהערך של משתנה יהיה נכון לפני שתמשיך.
תוכל גם לשלב את המשפט לעיל עם ביטויים אחרים ליצירת כלי מורכב אם המשתנה ריק או לא.
תודה, ושעת סקריפטים שמחה !!