নোট করুন যে সিনট্যাক্সটি বর্ন শেল থেকে উত্তরাধিকার সূত্রে প্রাপ্ত।
ভেরিয়েবল নামের পরে, আপনার কাছে হয় inউপাদানগুলির স্পষ্টভাবে দেওয়া তালিকা থাকতে পারে , বা doঅবস্থানগত পরামিতিগুলি লুপ করতে।
for i in 1 2 3
do
echo "$i"
done
অথবা
set 1 2 3
for i do
echo "$i"
done
রয়ে doউভয় ক্ষেত্রেই (এমনকি যদি এটা কঠোরভাবে প্রথম এক প্রয়োজনীয় নয়) আরো একটি সামঞ্জস্যপূর্ণ সিনট্যাক্স করে তোলে। এটি প্রয়োজনীয় while/ untilলুপগুলির সাথে সামঞ্জস্যপূর্ণ do।
while
cmd1
cmd2
do
cmd3
cmd4
done
শর্ত কমান্ডের doতালিকাটি কোথায় শেষ হবে তা আপনাকে জানাতে হবে ।
নোট করুন যে বোর্ন শেল সমর্থন করে নি for i; do। সেই বাক্য গঠনটিও ২০১ 2016 সালের স্ট্যান্ডার্ডের সংস্করণ অবধি পসিক্স ছিল না ( for i doসর্বদা পসিক্স হয়েছে; সম্পর্কিত অস্টিন গ্রুপ বাগটি দেখুন )।
zsh কয়েকটি শর্টহ্যান্ড ফর্ম রয়েছে যেমন:
for i in 1 2 3; echo $i
for i (1 2 3) echo $i
for ((i=1;i<=3;i++)) echo $i
বা একাধিক ভেরিয়েবলের জন্য সমর্থন:
for i j (1 a 2 b) echo $i $j
(যদিও আপনি ব্যবহার করতে পারবেন না inবা doস্থানে পরিবর্তনশীল নামের jউপরে)।
এমনকি যদি খুব কমই নথিভুক্ত করা হয় তবে বেশিরভাগ বোর্নের মতো শেল (বোর্ন, কেশ, বাশ, জ্যাশ, না ashনয় yash)ও সমর্থন করে:
for i in 1 2 3; { echo "$i";}
বোর্ন শেল, kshএবং zsh(তবে নয় bash) এছাড়াও সমর্থন করে:
for i { echo "$i"; }
যখন bash, kshএবং zsh(তবে বোর্ন শেল নয়) সমর্থন করে:
for i; { echo "$i"; }
সমস্ত (বোর্ন, bash, ksh, zsh) সহায়তা:
for i
{ echo "$i";}
ksh93, bash, zshসহায়তা:
for ((i=1;i<=3;i++)) { echo "$i"; }