ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

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

در حالی که [[ $# -gt 0 ]]; انجام دادن

echo "Argument $count = $1" count=$((count + 1))

شیفت انجام شد

#! / bin / bash


# posit-param2: اسکریپت برای نمایش همه آرگومان ها count=1

در حالی که [[ $# -gt 0 ]]; انجام دادن

echo "Argument $count = $1" count=$((count + 1))

شیفت انجام شد


هر زمان تغییر اجرا می شود، مقدار $2 منتقل می شود به $1، ارزش $3 منتقل می شود به $2 و غیره ارزش $# نیز یک کاهش می یابد.

در posit-param2 برنامه، حلقه ای ایجاد می کنیم که تعداد آرگومان های باقی مانده را ارزیابی می کند و تا زمانی که حداقل یک آرگومان وجود داشته باشد ادامه می یابد. آرگومان فعلی را نمایش می دهیم، متغیر را افزایش می دهیم تعداد دفعات مشاهده با هر بار تکرار حلقه، تعداد آرگومان‌های پردازش شده ارائه می‌شود و در نهایت، یک تغییر برای بارگذاری

$1 با آرگومان بعدی. در اینجا برنامه در حال کار است:


[me@linuxbox ~]$ posit-param2 abcd

برهان 1 = آرگومان 2 = ب آرگومان 3 = ج آرگومان 4 = د

[me@linuxbox ~]$ posit-param2 abcd

برهان 1 = آرگومان 2 = ب آرگومان 3 = ج آرگومان 4 = د


برترین سیستم عامل Cloud Computing در OnWorks: