নোট করুন যে সিনট্যাক্সটি বর্ন শেল থেকে উত্তরাধিকার সূত্রে প্রাপ্ত।
ভেরিয়েবল নামের পরে, আপনার কাছে হয় 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"; }