Menu
Coddy logo textTech

משתנים בסקריפטים

חלק מהיחידה יסודות במסלול ה-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 ישבש את הפקודה.

משתנים בסקריפטים פועלים בדיוק כמו במסוף, אבל הם קיימים רק בזמן שהסקריפט רץ. כשהסקריפט מסתיים, המשתנים האלה נעלמים.

challenge icon

אתגר

קל

צרו סקריפט מעטפת בשם intro.sh שמשתמש במשתנים כדי להציג הודעה אישית.

הסקריפט שלכם צריך:

  1. להתחיל בשורת shebang (#!/bin/bash)
  2. ליצור משתנה בשם language עם הערך Bash
  3. ליצור משתנה בשם skill עם הערך scripting
  4. להשתמש ב-echo כדי להדפיס את שני המשתנים בפורמט: Learning Bash scripting!

הפכו את הסקריפט לניתן להרצה והריצו אותו. הפלט שלכם צריך להיות:

Learning Bash scripting!

עטפו כל שורה שאתם כותבים במרכאות יחידות: echo 'echo "Hello $name"' >> script.sh. מרכאות יחידות מונעות מהמעטפת להחליף את $name בזמן כתיבת הקובץ, כך שהמשתנה נשאר בסקריפט ומורחב כשהוא רץ. מרכאות כפולות היו מחליפות את הערך מיד.

רמז: צרו את הסקריפט באמצעות echo עם הפניה מחדש. זכרו להפנות למשתנים באמצעות $ במשפט ה-echo שלכם, למשל echo "Learning $language $skill!"

נסו בעצמכם

טרמינל
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Terminal אונליין