|
חלק שני זה מיני הדרכה תכנות ב לְהַכּוֹת, שם אנו לומדים להשתמש מחזורים וכלים אחרים שיעזרו לנו לשפר את הפונקציונליות של שלנו סקריפטים. |
ה- If מותנה
הפונקציה של אם היא להחיל פילטר ולבצע פעולה או משימה לכל סוג פילטר שהוחל. מבנהו הוא כדלקמן:
אם [תנאי]; ואז אליף פקודות [תנאי]; ואז פקודות אחרות; פקודות fi
דוגמה מוצגת ליד הלולאה For בקטע המתאים לה.
מחזורים
1. אמנם: זה יבצע את כל הפקודות שצוינו בין לעשות לביצוע כל עוד התנאי אמיתי. אם אנו רוצים להעביר אליו אופרטורים להשוואה, הביטוי חייב להיות בסוגריים.
בעוד ש- CONDITION / COMMAND מבצעים פקודות
דוגמה: לוח כפל של מספר
#! / bin / bash X = 1 הד "הזן מספר ולחץ על ENTER" קרא M # הלולאה שולטת ש- X קטן או שווה ל- 10 בעוד [$ X –le 10] בצע # In R אנו מאחסנים את הכפל של X על ידי MR = $ [X * M] # הכפל זה מודפס על הד המסך "$ M * $ X = $ R" # עם let, אנו מגדילים את ערך ה- X ביחידה אחת בואו X = $ X + 1 נעשה
2. עבור: מאחסן רשימת אלמנטים במשתנה, שישמשו לביצוע פעולות מסוימות בכל מחזור.
עבור VARIABLE ב- ELEMENTS מבצעים פקודות
דוגמה: תוכנית שמעתיקה קובץ מתיקיה אחת לאחרת, ומחליפה קובץ ישן.
# / bin / bash # אנו מקימים ספריות מקור ויעד ORIGIN = / home / user / הורדות DESTINATION = / home / user / Documents # אנו ממקמים את עצמנו בתקליטור המקור $ ORIGIN # מכל הקבצים, אנחנו רק רוצים את זה הוא # call FILE for FILE ב- * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f מסנן לנו קבצים רגילים, מכיוון שספריות # לא טובות עבורנו. –לא מסנן # קבצים “חדשים” יותר מאלה שנמצאו בתיקיית היעד אם [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; ואז מהדהד "העתקת $ FILE ..." # אנו מעתיקים את הקובץ עם cp cp $ FILE $ ARCH-DESTINATION fi done # אנחנו cd כדי לצאת מתיקיית המקור cd
דוגמא נוספת: סקריפט שבו על המשתמש לנחש מספר אקראי שנוצר על ידי המחשב.
# / bin / bash # מספר אקראי נוצר מ -1 עד 10, הוא # נשמר ב- RANDOM RANDOM = $ [$ RANDOM% 10 + 1] ואילו [1] לעשות הד –נ "הזן מספר:" קרא NUM # השווה אם המספר שבחר המשתמש הוא שווה ל- RANDOM; זכור להשתמש ב- $ כדי להעריך את # הערכים של המשתנים ולא את שמותיהם אם ["$ NUM - שווה ערך" $ RANDOM "]; ואז מהדהד "הבנתם נכון!" #break מאפשר לסיים את הלולאה בזמן הפסקה # אם המספר נמוך מ- RANDOM elif [“$ NUM –gt“ $ RANDOM ”]; ואז הד "זה קטן יותר" "אם לא, הוא גדול יותר מ- RANDOM אחר מהדהד" זה גדול יותר "נעשה
3. עד: די דומה במבנהו ל- While, אלא שהקוד תמיד מבוצע בזמן שהערכת התנאי היא שלילית, כלומר התוכנית ממשיכה לבצע "עד שהמצב מתרחש"
עד ש- CONDITION / COMMAND מבצעים פקודות
דוגמה: הדפיסו את המספרים 10-20 בסדר יורד
#! / bin / bash CONT = 20 # כל עוד הדלפק קטן מ- 10 (-lt, "נמוך יותר מ-") הקוד מבוצע עד [$ CONT -lt 10]; לעשות הד "COUNTER $ CONT" # A CONT מופחת על ידי יחידה בוא CONT- = 1 נעשה
4. בחר: מחזור אחרון זה הוא מקרה מיוחד, מכיוון שהוא משמש בדרך כלל להכנת תפריטים במהירות. זה עובד בדומה לולאת ה- For.
בחר VARIABLE ברשימת הפקודות שבוצעו
דוגמה: תן למשתמש את היכולת להמשיך או לסיים את הסקריפט.
#! / bin / bash #item הוא משתנה המגיב למה שהמשתמש # בוחר, המשך וסיום הם # האפשרויות העומדות בפניו, אם כי ניתן להוסיף אפשרויות אחרות # פריט נוסף בחר ב- Continue Finish עשה # אם המשתמש בוחר לסיים את התוכנית, ואז עם הפסקה אנו יוצאים מהמחזור. אם [$ item = "Finish"]; ואז לשבור את הפי