מדריך יוניקס (Unix) מספר 8 - איך לעבוד עם ארגומנטים בסקריפטים (Scripts)
כאשר כותבים סקריפט CShell ביוניקס אפשר להכניס מחרוזות, שמות קבצים או מספרים בשורה בה כתבתם את הפקודה והסקריפט ישתמש בהם כקלט. מדריך זה יסביר כיצד לעבוד עם ארגומנטים.
What You'll Need
- יוניקס
- ארגומנטים
- משתנים
- סקריפטים
- סקריפט
Steps
- 1
Step 1
הכנסו לעורך טקסט וצרו סקריפט - בדוגמא שלנו הוא יקרא: MyFirstScript. רשמו בסקריפט : echo $#argv argv היא מילה שמורה המייצגת מערך של הארגומנטים המתקבלים בסקריפט. הסימנים #$ לפני המילה argv אומרים לסקריפט לספור את הארגומנטים. שמרו את הסקריפט וצאו מעורך הטקסט. - 2
Step 2
בשורת הפקודה הריצו את הסקריפט ואחריו רשמו שלוש מילים (מחרוזות עם רווחים בינהם) לדוגמא: MyFirstScript first second third כאשר first second וthird מייצגים את הארגומנטים. הפלט שיוצג הוא מספר הארגומנטים שהוכנסו. -
- 3
Step 3
מכיוון שאנו שargv הוא מערך של ארגומנטים, ניתן לבצע על argv את כל הפעולות שאפשר לבצע על מערכים. לדוגמא: בכדי להדפיס את הארגומנט השני נכתוב בסקריפט: [echo $argv[2 שמרו את הסקריפט וצאו מעורך הטקסט. - 4
Step 4
כתבו את שם הסקריפט ואחריו רשמו שלוש מחרוזות. הפלט שיוצג הוא הארגומנט השני. - 5
Step 5
דרך נוספת להתייחס למשתנים המתקבלים כארגומנטים היא בעזרת מספר הארגומנט ולפניו הסימן $ . לדוגמא: echo $2 ידפיס את הארגומנט השני. בשיטה זו מספר הארגומנטים שניתן להשתמש בהם מוגבל. - 6
Step 6
הארגומנט שמתקבל יכול להיות קובץ ועל כן ניתן לבצע עליו פעולות המתאימות לקבצים. כתבו בסקריפט: [wc -c $argv[1 פקודה זו תספור את מספר התווים בארגומנט הראשון. שמרו וצאו מעורך הטקסט. - 7
Step 7
כעת כאשר תכתבו את שם הסקריפט ולאחריו שם של קובץ תתבצע ספירה של מספר התווים באותו הקובץ. - 8
Step 8
ניתן אפילו להכניס בתור ארגומנט ספריה ואז לבצע עליה פעולות המתאימות לספריה. כתבו בסקריפט : [ls $argv[1 פעולה זו תציג את רשימת הקבצים הנמצאים בספריה שהתקבלה כארגומנט. שמרו את הסקריפט וצאו מעורך הטקסט. - 9
Step 9
רשמו את שם הסקריפט ואחריו את שם הספריה אשר אתם רוצים להכניס כארגומנט (ניתן אפילו להכניס נתיב שלם). הפלט יהיה רשימת הקבצים הנמצאים בספריה.