מדריך יוניקס (Unix) מספר 7 - איך לעבוד עם משתנים בסקריפטים (Scripts)
בדומה לשפות תכנות אחרות גם בשפת הסקריפטים של יוניקס ניתן לעבוד עם משתנים. משתנים ביוניקס יכולים להכיל מחרוזות, מספרים,פלטים של פקודות, קבצים וספריות. מדריך זה יסביר כיצד להשתמש במשתנים.
מה תצטרך
- יוניקס
- משתנים
- משתנים בסקריפטים
- איך להשתמש במשתנים ביוניקס
שלבים
- 1
שלב 1
הכנסו לעורך טקסט וצרו סקריפט shell. במידה ואינכם יודעים לעשות זאת ראו מדריך יוניקס מספר 6. - 2
שלב 2
משתנים ביוניקס אינם צריכים להיות מוגדרים מראש כמו משתנים בשפות תכנות אחרות. המשתנים מוגדרים על פי הערך שמוכנס אליהם. משתנה יכול להכיל מספר, תו, מחרוזת, פלט של פקודה, קובץ ועוד. בכדי להכניס ערך למשתנה יש צורך לרשום לפני המשתנה את המילה set ואחריו את הסימן "=" ואת הערך שאתם רוצים להכניס אליו. בכדי להשתמש בערך שבתוך המשתנה(בין אם זה מחרוזת,מספר וכו') נרשום לפני המשתנה את הסימן "$". בכדי להמחיש, נשתמש בדוגמא הבאה, רשמו בסקריפט: set number = 3 echo $number שמרו וצאו מעורך הטקסט. -
- 3
שלב 3
נריץ את הסקריפט ונקבל את הפלט: 3 set number = 3 שומר את המספר 3 במשתנה number. ו echo $number מדפיס את הערך שהמשתנה number מכיל. - 4
שלב 4
כמו שהוזכר לעיל, משתנה יכול להכיל גם מחרוזת. בכדי לשמור מחרוזת במשתנה רשמו את המילה set ואחריה את הסימן "=" ובגרשיים " " הכניסו את המחרוזת. רשמו בסקריפט: "set somestring="a string printed from a variable echo $somestring שמרו וצאו מהעורך. - 5
שלב 5
הריצו את הסקריפט. הרצת הסקריפט תציג את תוכן משתנה הsomestring. - 6
שלב 6
ניתן לשמור פלטים של פקודות במשתנים ולהשתמש בהם אח"כ. בכדי לעשות זאת יש לרשום את המילה set ואחריה את הסימן "=" ולאחר מכן את הפקודה שברצונכם לבצע כאשר היא סגורה בסימן ` מכל צד (נמצא משמאל למספר 1 על המקלדת) . רשמו בעורך טקסט: `set somecommand = `wc -c MyFirstScript echo $somecommand כאשר MyFirstScript זה הסקריפט שאנחנו עובדים עליו כרגע. שמרו וצאו מהעורך. - 7
שלב 7
הריצו את הסקריפט. הפעולה `set somecommand = `wc -c MyFirstScript שמרה את הפלט של הפקודה wc -c MyFirstScript והכניסה אותה לsomecommand. ו echo $somecommand מדפיסה את הערך שבתוך המשתנה. wc -c MyFirstScript מחזירה את מספר התוים שבקובץ MyFirstScript ואת שם הקובץ. - 8
שלב 8
בכדי לעשות פעולות אריתמטיות על משתנים כמו חיבור, חיסור כפל וחילוק, יש להגדיר את המשתנה כאריתמטי. כדי לעשות זאת נרשום לפני המשתנה את הסימן "@" , אחריו את הסימן "=" ואחריו מספר (או משתנה המכיל מספר). רשמו בסקריפט: sum = 3@ sum = $sum + 4@ echo $sum שמרו וצאו מהסקריפט. - 9
שלב 9
הריצו את הסקריפט. המספר שיתקבל הוא 7. - 10
שלב 10
ניתן להגדיר משתנים כמערכים. למעשה כל צירוף של מחרוזות (משפט) עם רווח בינהם הוא מערך כאשר כל מחרוזת (מילה) נמצאת בתא במערך. רשמו בסקריפט: `set array = `wc -c MyFirstScript echo "this is the whole array: $array [echo "this is what the first cell contains:" $array[1 [echo "this is what the second cell contains:" $array[2 בסקריפט זה הגדרנו תחילה שהמשתנה array יקבל את הפלט של הפקודה wc -c MyFirstScript שאמור להיות מספר התווים ושם הקובץ, כלומר מערך בעל שני תאים כאשר אחד מכיל את מספר התווים והשני את שם הקובץ. לאחר מכן הדפסנו את כל המערך array$ ואז את התאים לבדם - התא הראשון [array[1 המכיל את המספר והתא השני [array[2 המכיל את שם הקובץ. - 11
שלב 11
הריצו את הסריקפט. ותקבלו הדפסה של כל המערך, התא הראשון והתא השני.