סידור קוד לתוך פונקציות

Bash:
סידור קוד לתוך פונקציות

איך לעשות:

ליצור פונקציה פשוטה ב-Bash:

greet() {
  echo "שלום, $1!"
}

להשתמש בה על ידי קריאה לפונקציה עם פרמטר:

greet "עולם"  # פלט: שלום, עולם!

פונקציות יכולות להחזיר ערכים באמצעות return עבור קודי מצב מספריים (לא עבור החזרת נתונים אמיתיים):

add() {
  return $(($1 + $2))
}

add 3 4
echo $?  # פלט: 7

לתשומת לבך, $? לוכד את ערך ההחזרה של הפקודה האחרונה, שהוא התוצאה המספרית של add.

לעומק

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

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

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

ראו גם