משתנים בסקריפטים
חלק מהיחידה יסודות במסלול ה-Terminal של Coddy. שיעור 68 מתוך 82.
משתנים הופכים את הסקריפטים שלך לגמישים ולשימושיים מחדש. במקום לקבוע ערכים ישירות בקוד, אפשר לאחסן אותם במשתנים ולהשתמש בהם לאורך הסקריפט.
כדי ליצור משתנה בתוך סקריפט, השתמשו באותה תחביר שלמדתם עבור הטרמינל: ללא רווחים מסביב לסימן השוויון. כדי להשתמש בערך של המשתנה, הוסיפו סימן דולר לפני שמו:
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"הסקריפט הזה מציג את Hello, World!. המשתנים greeting ו־name מאחסנים טקסט שמוחלף כשהסקריפט מופעל.
משתנים נעשים שימושיים במיוחד כשצריך להשתמש באותו ערך כמה פעמים. אם מפנים לנתיב קובץ בכמה מקומות, שמירתו במשתנה פירושה שצריך לשנות אותו רק פעם אחת:
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"שימו לב למרכאות סביב "$backup_dir". עטיפת משתנים במרכאות כפולות היא נוהג טוב, כי כך מטפלים כראוי בנתיבים או בערכים שמכילים רווחים. בלי מרכאות, נתיב כמו /my documents ישבש את הפקודה.
משתנים בסקריפטים פועלים בדיוק כמו במסוף, אבל הם קיימים רק כל עוד הסקריפט פועל. כשהסקריפט מסתיים, המשתנים האלה נעלמים.
אתגר
קלצרו סקריפט מעטפת בשם intro.sh שמשתמש במשתנים כדי להציג הודעה אישית.
הסקריפט שלכם צריך:
- להתחיל בשורת shebang (
#!/bin/bash) - ליצור משתנה בשם
languageעם הערךBash - ליצור משתנה בשם
skillעם הערךscripting - להשתמש ב-
echoכדי להדפיס את שני המשתנים בתבנית:Learning Bash scripting!
הפכו את הסקריפט לניתן להרצה והריצו אותו. הפלט שלכם צריך להיות:
Learning Bash scripting!עטפו כל שורה שאתם כותבים בגרשיים יחידים:
echo 'echo "Hello $name"' >> script.sh. גרשיים יחידים מונעים מה-shell להחליף את$nameבזמן כתיבת הקובץ, כך שהסקריפט ישמור את המשתנה וירחיב אותו בזמן הריצה. גרשיים כפולים היו מחליפים את הערך מיד.
רמז: צרו את הסקריפט באמצעות
echoעם הפניה מחדש. זכרו להפנות למשתנים באמצעות$במשפט ה-echo שלכם, למשלecho "Learning $language $skill!"
נסו בעצמכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7תוכן הקובץ
ראש וזנבספירת מיליםפקודת המיוןפקודת הסינון לכפילויותיסודות grepgrep עם דגליםסיכום – בלש/ית טקסט13יסודות כתיבת סקריפטים ב-Shell
מהו סקריפט Shellיצירה והרצה של סקריפטמשתנים בסקריפטיםקלט משתמש בסקריפטיםמשפט ifלולאת forלולאת whileסיכום – נחשו את המספר2ניווט
הצגת ספריית העבודההצגת קבציםשינוי ספרייהנתיבים מוחלטים לעומת יחסייםספריית הבית וספריית השורשסיכום – מצאו את הדרך8ניתוב מחדש
פלט סטנדרטיכתיבה לקובץ תוך דריסת התוכןהוספה לקובץקלט סטנדרטישגיאה סטנדרטיתסיכום – בונה יומני רישום14פרויקט סקריפט לגיבוי
סקירת הפרויקטקבלת נתיב המקורתרגלו בעצמכם: Terminal אונליין