כיצד לכתוב פונקציות ולולאות בבאש?

הדרך הקלה ביותר לצמצם את כמות הקוד שאתה צריך לכתוב בכל תוכנית שהיא היא למצוא דרכים לשימוש חוזר בקוד
הדרך הקלה ביותר לצמצם את כמות הקוד שאתה צריך לכתוב בכל תוכנית שהיא היא למצוא דרכים לשימוש חוזר בקוד.

סקריפטים של מעטפת Bash היא שפת CLI ( ממשק שורת פיקוד) עוצמתית ורב-תכליתית. הדרך הקלה ביותר לצמצם את כמות הקוד שאתה צריך לכתוב בכל תוכנית שהיא היא למצוא דרכים לשימוש חוזר בקוד. לולאות ופונקציות הן שתי דרכים להשיג זאת. כמו בכל שפה, ככל שתכיר יותר תחביר (או היכן למצוא את התחביר), כך תהיה לך טוב יותר בכתיבת הקוד. הקוד המסופק במאמר זה הוא תוכנית הפעלה שתופעל ב- UNIX, Linux או Mac OS X ואילך. מאמר זה יתחיל בלינוקס בשורת הפקודה.

צעדים

  1. 1
    עבור אל לינוקס ופתח חלון מסוף. הקלד את הפקודה הבאה בשורת הפקודה: vi FunLoop.sh. פעולה זו תיצור את הקובץ שתשתמש בו כקובץ סקריפט ותפתח אותו לעריכה.
  2. 2
    הזן את הצהרת הפגז בשורה הראשונה של הקובץ. כל סקריפט פגז צריך את זה כדי לומר לו באיזה פגז לרוץ. הקלד #!/bin/bash.
  3. 3
    צור את המשתנים הדרושים לך עבור סקריפט זה. תזדקק לאחת שתצלם את הבחירה שהוזן על ידי המשתמש ואחת שתגדיר את הספרייה על פי בחירת המשתמש. הקלד directory=""ו choice=0.
  4. 4
    צור את הפונקציה הראשונה שלך. זהו קוד פשוט ויש לו שם שהוא תלוי רישיות. תן לזה שם menuList. כל מה שבין סוגריים הפתיחה לסגירה הוא כל קוד שאתה רוצה שיהיה.
    פעולה זו תיצור את הקובץ שתשתמש בו כקובץ סקריפט ותפתח אותו לעריכה
    פעולה זו תיצור את הקובץ שתשתמש בו כקובץ סקריפט ותפתח אותו לעריכה.
  5. 5
    הקלד את השם והסוגריים בשורה הראשונה אחרי המשתנים. זה צריך להיראות כך: menuList().
  6. 6
    הקלד סוגר פתיחה בשורה אחרת בפני עצמה {.
  7. 7
    הקלד את הפקודה כדי לנקות את המסך בשורה בפני עצמה. זה אמור להיראות כך: clear.
  8. 8
    הקלד את הצהרות ההד המרכיבות את התפריט.
    הד "1. הפעל ls בספריית הבית שלי." הד "2. הפעל ls בספריית השורש." הד "3. הפעל ls בספריית הפח." הד "4. תוכנית יציאה." 
  9. 9
    הקלד סוגר סוגר בשורה אחרת בפני עצמה }.
  10. 10
    צור פונקציה להפעלת lsהפקודה.
  11. 11
    הקלד את השם והסוגריים בשורה הראשונה אחרי המשתנים. כדאי להוסיף runLS().
  12. 12
    הקלד סוגר פתיחה בשורה אחרת בפני עצמה {.
  13. 13
    הקלד את הפקודה להפעלת ה- ls. ls -la $directoryכאשר $ directory הוא זה שצוין על ידי בחירת התפריט.
  14. 14
    הקלד סוגר סוגר בשורה אחרת בפני עצמה }.
  15. 15
    צרו הצהרות לולאה ואם להפעיל את הפונקציות.
  16. 16
    צור את הצהרת while עם המילה ואחריה הצהרה מותנית. while [$choice -ne 4]. איפה $choiceהוא הקלט מהמשתמש 4הוא הפריט בתפריט לספר את תכנית קרובה, -neהוא אופרטור תנאי המשמש scripting פגז Bash להערכת מספר.
  17. 17
    המשך בהצהרת while עם מילת המפתח do. הקלד do.
  18. 18
    לאחר מכן מגיע הקוד שרוצים להפעיל בכל פעם שלופ הלולאה פועלת. יש לך ארבעה פריטי תפריט, כך שתזדקק לארבע ifהצהרות ולתפוס הכל עבור ערכים שאינם עומדים בדרישות פריטי התפריט. כתוב את הצהרת ה- if כדלקמן:
    אם [$ choice -eq 1] ואז $ directory = "~ /" runLS elif [$ choice -eq 2] ואז $ directory = "/" runLS elif [$ choice -eq 3] ואז $ directory = "/ bin" runLS elif [$ choice -eq 4] ואז נקה הד "תודה שהשתמשת בקבצי רשימה" שינה 3 יציאה אחרת הד "בחירה לא חוקית, אנא נסה שוב" הסתיים 
    תזדקק לאחת שתצלם את הבחירה שהוזן על ידי המשתמש ואחת שתגדיר את הספרייה על פי בחירת המשתמש
    תזדקק לאחת שתצלם את הבחירה שהוזן על ידי המשתמש ואחת שתגדיר את הספרייה על פי בחירת המשתמש.
  19. 19
    שמור ויצא מהקובץ על ידי הקלדה: Esc :x,.
  20. 20
    הפעל את chmod כדי לתת הרשאות לקובץ להפעלה. הקלד: chmod u+x FunLoop.sh.
  21. 21
    הפעל את התוכנית על ידי הקלדת. /FunLoop.sh.

שיטה 1 מתוך 1: דוגמה

קוד לדוגמא בו תוכלו להשתמש:

! / bin / bash directory = "" choice = 0 menuList () {clear echo "1. הפעל ls בספריה הביתית שלי." הד "2. הפעל ls בספריית השורש." הד "3. הפעל ls בספריית הפח." הד "4. צא מהתוכנית"} runLS () {ls -la $ directory sleep 2} בזמן ש [$ choice -ne 4] do menuList read -p "הזן את הבחירה שלך:" בחירה אם [$ choice -eq 1] ואז $ Directory = "~ /" runLS elif [$ choice -eq 2] ואז $ directory = "/" runLS elif [$ choice -eq 3] ואז $ directory = "/ bin" runLS elif [$ choice -eq 4] ואז נקה הד "תודה על השימוש בקבצי הרשימה" שינה 3 יציאה אחרת הד "בחירה לא חוקית, אנא נסה שוב" הסתיים 

אזהרות

  • סקריפטים שגויים יכולים להשפיע לרעה על המערכת שלך. חשוב להקפיד על מניפולציה של קבצים במחשב.

דברים שתזדקק להם

  • מחשב עם לינוקס, UNIX או OS X עליו
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail