משתנים בסקריפטים
חלק מהיחידה יסודות במסלול ה-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. מרכאות יחידות מונעות מהמעטפת להחליף את$nameבזמן כתיבת הקובץ, כך שהמשתנה נשאר בסקריפט ומורחב כשהוא רץ. מרכאות כפולות היו מחליפות את הערך מיד.
רמז: צרו את הסקריפט באמצעות
echoעם הפניה מחדש. זכרו להפנות למשתנים באמצעות$במשפט ה-echo שלכם, למשלecho "Learning $language $skill!"
נסו בעצמכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7תוכן הקובץ
ראש וזנבספירת מיליםפקודת המיוןפקודת הסינון לכפילויותיסודות grepgrep עם דגליםסיכום – בלש/ית טקסט13יסודות כתיבת סקריפטים ב-Shell
מהו סקריפט Shellיצירה והרצה של סקריפטמשתנים בסקריפטיםקלט משתמש בסקריפטיםמשפט ifלולאת forלולאת whileסיכום – נחשו את המספר2ניווט
הצגת ספריית העבודההצגת קבציםשינוי ספרייהנתיבים מוחלטים לעומת יחסייםספריית הבית וספריית השורשסיכום – מצאו את הדרך8ניתוב מחדש
פלט סטנדרטיכתיבה לקובץ תוך דריסת התוכןהוספה לקובץקלט סטנדרטישגיאה סטנדרטיתסיכום – בונה יומני רישום14פרויקט סקריפט לגיבוי
סקירת הפרויקטקבלת נתיב המקורתרגלו בעצמכם: Terminal אונליין