اسکریپت نویسی شل لینوکس برای وبمسترها – قسمت۶ – دستور for : در قسمت قبل در مورد دستور while و حلقه تکرار توضیح داده شد.
در این قسمت با دستور for آشنا میشویم:
دستور for به شما این امکان را میدهد تا در بازه عددی مشخصی حرکت کرده و در گام های مشخصی دستورات داخل حلقه را اجرا کنید.
ساختار کلی دستور for به صورت زیر است:
for VARIABLE in ۱ ۲ ۳ ۴ ۵ .. N
do
command1
command2
commandN
done
متغیر variable میتواند هر متغییری باشد, مثل x
دستورات بین do و done به ازای هرکدام از عدد های ۱ تا n اجرا خواهد شد, و مقدار VARIABLE برابر عدد متناظر خواهد بود.
بر فرض اگر command1 برابر echo $VARIABLE باشد, اعداد ۱ تا N در خروجی چاپ خواهد شد, بازه حلقه محدود به عدد نیست, میتوانید فایل ها را به جای اعداد قرار دهید:
for VARIABLE in file1 file2 file3
do
command1 on $VARIABLE
command2
commandN
done
یا خروجی یک دستور دیگر را به عنوان بازه معرفی کنید:
for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
command1 on $OUTPUT
command2 on $OUTPUT
commandN
done
اگر بازه اعداد ثابت باشد, لازم نیست تک تک آنها را مشخص کنید, اگر بنویسید
for i in {۱..۵}
حلقه برای شما از ۱ تا ۵ اجرا خواهد شد, حتی میتوانید با فاصله ثابت در بازه بین اعداد پرش کنید»
echo "Bash version ${BASH_VERSION}..."
for i in {۰..۱۰..۲}
do
echo "Welcome $i times"
done
خروجی به این صورت خواهد بود:
Bash version 4.0.33(0)-release...
Welcome 0 times
Welcome 2 times
Welcome 4 times
Welcome 6 times
Welcome 8 times
Welcome 10 times
میتوانید از شکل رایج زبان های برنامه نویسی استفاده کنید:
for (( c=1; c<=۵; c++ ))
do
echo "Welcome $c times"
done
هر موقع بخواهید بدون ادامه حلقه از آن خارح شوید, از دستور break استفاده کنید.
در صورتی که بخواهید به آخر حلقه پرش کنید و حلقه دوباره ادامه پیدا کند از دستور continue استفاده کنید.