Menu
CoddyTech

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

חלק מהיחידה יסודות במסלול ה-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. גרשיים יחידים מונעים מה-shell להחליף את $name בזמן כתיבת הקובץ, כך שהסקריפט ישמור את המשתנה וירחיב אותו בזמן הריצה. גרשיים כפולים היו מחליפים את הערך מיד.

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

נסו בעצמכם

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

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

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

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