מדריך למתחילים מעטפת סקריפט 4 תנאים & אם אם כן הצהרות
אנחנו כבר מכוסה מספיק את היסודות של המדריך שלנו על סקריפט פגז כי אתה צריך להרגיש נוח ניסויים. בתשלומים של השבוע, נתמודד עם חלק מהדברים הכי מהנים, כמו תנאים והצהרות "אם-אז".
מה הם תנאים?
בשפה היומיומית, אנו אומרים כי התנאים הם דרישות שיש לעמוד בהם כדי להתרחש. עבור המחשב הנייד שלי כדי להיות מסוגל להתחבר לאינטרנט, ישנם מספר תנאים שיש לעמוד בהם, כמו שיש ספק שירותי אינטרנט, המודם ו / או הנתב להיות על, המחשב הנייד שלי להיות על וכו 'זה די פשוט, ואם כל אחד של דרישות אלה אינם נפגשו, התוצאה - הנייד שלי להתחבר לאינטרנט - לא יקרה.
תנאים בתחום המחשוב בעבודה דומה. אנו יכולים לבדוק אם מחרוזת תואמת מחרוזת אחרת, בין אם היא אינה תואמת מחרוזת אחרת, או אפילו אם היא קיימת כלל. באופן דומה, אנו יכולים לבדוק טיעונים מספריים כדי לראות אם אחד גדול, או פחות, או אחר. כדי לגרום למשהו שיקרה לאחר שמתקיימים תנאי המבחן, אנו משתמשים בהצהרות "אם-אז". הפורמט שלהם הוא די פשוט.
אם תנאי
לאחר מכן
הפקודה
הפקודה
...
הפקודה
Fi
אם הצהרות
בואו נריץ סקריפט בדיקה מהיר ומהיר, בסדר?
אם הבדיקה $ 1 -gt $ 2
לאחר מכן
הד "$ 1 גדול מ -2 דולר"
Fi
תוכל להבחין כי רק כאשר מצב זה נכון יהיה סקריפט לבצע את הפקודה הבאה. אחרת, ההצהרה "if" תצא. אם יש פקודות אחרי ההצהרה "if", אז הם יפעלו כרגיל. הוספתי את השורה הבאה לסוף התסריט לעיל כדי להמחיש זאת:
הד "זה בא אחרי הצהרה אם"
הנה כמה אופרטורים מספריים אחרים שאולי תרצה לנסות:
- -eq: שווה ל
- -ne: לא שווה ל
- -lt: פחות מ
- -le: פחות או שווה ל
- -gt: גדול מ
- -ge: גדול או שווה ל
מחרוזות בדיקה
עכשיו, אם נשנה את השורה הראשונה של הסקריפט שלנו כך:
אם הבדיקה $ 1 = $ 2
אז המצב יהיה לבדוק אם השניים הם שווים. יש לתפוס כאן למרות !! השימוש בסימן שווה (=) משווה שתי מחרוזות, ולא מספרים. אם ברצונך להשוות מספרים, יהיה עליך להשתמש באופרטור "eq" באופן דומה לאופן שבו השתמשנו ב- "gt" לעיל.
עכשיו, בואו נעשה שינוי נוסף:
אם הבדיקה $ 1! = $ 2
הכללת סימן הקריאה (!) משמשת כ"לא ". כלומר, זה רק מפעיל את הפקודה הבאה כאשר שתי מחרוזות לא תואמות.
הנה רשימה של כמה בדיקות מבוססות מחרוזות נוספות שתוכל להשתמש בהן:
- string: באמצעות רק טיעון לבדו בדיקות אם המחרוזת אינה ריקה (null) או לא מוגדר בדרך כלשהי
- -n string: פעולה זו תבדוק אם המחרוזת אינה ריקה ומוגדרת
- -z string: פעולה זו תבדוק אם המחרוזת ריקה ומוגדרת כך
מה עוד על אם?
אני מודה, כי כותרת סעיף היה בהחלט משחק מלים רע. אוקיי, אנחנו יודעים איך לבצע פקודה אם הבדיקה נכונה, אבל מה אם אנחנו רוצים לבצע פקודה אחרת אם זה שקר? אנחנו יכולים בקלות לשים את השניים יחד על ידי הוספת סעיף שלנו "אם אז" הצהרות - "אחר"!
אם תנאי
לאחר מכן
הפקודה
הפקודה
...
הפקודה
Other
הפקודה
הפקודה
...
הפקודה
Fi
בואו נרכיב תסריט פשוט.
יש הכל עם הזחה נכונה. אם תסתכל מקרוב, תבחין שהשתמשנו בסוגריים מרובעים ([ו-]) במקום בפקודת הבדיקה. הם שווים מבחינה תפקודית למטרות שלנו, ואתה הרבה יותר סביר לראות את סוגריים מרובעים מסיבות שונות, אז נשתמש בהם מעתה והלאה.
הנה איך ייראה הפלט:
זה כזה קל!
מה עלי לעשות עתה?
עכשיו שאתה יודע איך להשתמש בהצהרות "אם-אז-אחר", אתה יכול להריץ סקריפטים שיכולים לבצע בדיקות. לדוגמה, באפשרותך להפעיל Script שיחשב חשיש md5 של קובץ ולאחר מכן ישווה אותו לזו שהורדת בקובץ כדי לראות אם הם תואמים.
עבור כמה נקודות בונוס, אתה יכול ליצור סקריפט שיש לו "ל" לולאה, אבל משתמשת תנאי הבדיקה במקום לקרוא שורות מתוך קובץ רשימה ...
אנו מגיעים לחלק מהקטעים המעניינים יותר במדריך למתחילים שלנו ל- Script Shell. אם החמצת את השיעורים הקודמים, הנה רשימה מהירה שתוכל לבדוק:
- את היסודות של Shell Scripting
- שימוש עבור לולאות
- פקודות בסיסיות נוספות
- מה הם ההבדלים בין פגזי לינוקס?
- כיצד להשתמש בביטויים רגולריים בסיסיים
אם ביצעת או השתמשת סקריפטים לנצל את תנאי הבדיקה, אם אז, אחר הצהרות, ו "עבור" לולאות, לחלוק איתנו את הערות!