OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

shift - קבלת גישה להרבה טיעונים

אבל מה קורה כשאנחנו נותנים לתוכנית מספר רב של טיעונים כמו זה:


תמונה

[me@linuxbox ~]$ posit-param *


מספר הטיעונים: 82

$0 = /home/me/bin/posit-param

$1 = addresses.ldif

$2 = פח

$3 = bookmarks.html

$4 = debian-500-i386-netinst.iso

$5 = debian-500-i386-netinst.jigdo

$6 = debian-500-i386-netinst.template

$7 = debian-cd_info.tar.gz


$8 = שולחן עבודה

$9 = dirlist-bin.txt

$8 = שולחן עבודה

$9 = dirlist-bin.txt


במערכת לדוגמה זו, התו הכללי * מתרחב ל-82 טיעונים. איך אנחנו יכולים לעבד כל כך הרבה? המעטפת מספקת שיטה, גם אם מגושמת, לעשות זאת. ה משמרת הפקודה גורמת לכל הפרמטרים "לזוז אחד למטה" בכל פעם שהיא מבוצעת. למעשה, על ידי שימוש משמרת, אפשר להסתדר עם פרמטר אחד בלבד (בנוסף ל $0, שלעולם לא משתנה):



#! / bin / bash


# posit-param2: סקריפט להצגת כל הארגומנטים count=1

while [[ $# -gt 0 ]]; לַעֲשׂוֹת

echo "טיעון $count = $1" count=$((ספירה + 1))

משמרת בוצעה

#! / bin / bash


# posit-param2: סקריפט להצגת כל הארגומנטים count=1

while [[ $# -gt 0 ]]; לַעֲשׂוֹת

echo "טיעון $count = $1" count=$((ספירה + 1))

משמרת בוצעה


בכל פעם משמרת מבוצע, הערך של $2 מועבר ל $1, הערך של $3 מועבר ל $2 וכן הלאה. הערך של $# מופחת גם באחד.

ב posit-param2 תוכנית, אנו יוצרים לולאה שמעריכה את מספר הטיעונים שנותרו וממשיכה כל עוד יש לפחות אחד. אנו מציגים את הארגומנט הנוכחי, מגדילים את המשתנה לספור עם כל איטרציה של הלולאה לספק ספירה רציפה של מספר הארגומנטים שעובדו ולבסוף, לבצע משמרת לטעון

$1 עם הארגומנט הבא. הנה התוכנית בעבודה:


[me@linuxbox ~]$ posit-param2 abcd

טיעון 1 = א טיעון 2 = b טיעון 3 = ג טיעון 4 = ד

[me@linuxbox ~]$ posit-param2 abcd

טיעון 1 = א טיעון 2 = b טיעון 3 = ג טיעון 4 = ד


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: