অন্য স্ক্রিপ্টিং ভাষার মতো ব্যাশও লুপ সাপোর্ট করে।
লুপ পুনরাবৃত্তিমূলক কাজের জন্য চমৎকার। আমরা আমাদের ব্যাশ স্ক্রিপ্টে for লুপ এবং while লুপ ব্যবহার করতে পারি।
ব্যাশ For Loop
for লুপের সিনট্যাক্স:
for VARIABLE in PARAM1 PARAM2 PARAM3
do
// for লুপের স্কোপ
done
for লুপ প্রতিটি প্যারামিটারের জন্য এক্সিকিউট হবে। প্যারামিটারগুলো সংখ্যা, সংখ্যার রেঞ্জ বা স্ট্রিং হতে পারে।
ব্যাশ For Loop উদাহরণ
এই সহজ উদাহরণে for লুপ ব্যবহার করে 1 থেকে 5 পর্যন্ত সংখ্যা প্রিন্ট করা হয়েছে:
#!/bin/bash
for i in 1 2 3 4 5
do
echo "$i"
done
আউটপুট:
1 2 3 4 5
ব্যাশ For Loop - সংখ্যার রেঞ্জ প্রিন্ট
আমরা লুপ করার জন্য সংখ্যার একটি রেঞ্জ সংজ্ঞায়িত করতে পারি:
উদাহরণ:
for i in {1..5}
do
echo "$i"
done
আউটপুট:
1 2 3 4 5
ব্যাশ স্ট্রিংগুলোর মাধ্যমে লুপ
for লুপ ব্যবহার করে স্ট্রিং প্যারামিটারগুলোর মধ্যেও লুপ করা যায়:
#!/bin/bash
for day in MON TUE WED THU FRI SAT SUN
do
echo "$day"
done
আউটপুট:
MON TUE WED THU FRI SAT SUN
ব্যাশ For Loop - C স্টাইল
আমরা C-স্টাইল সিনট্যাক্সও ব্যবহার করতে পারি for লুপ লেখার জন্য। উদাহরণ:
#!/bin/bash
for ((i=1; i<=5; i++))
do
echo "$i"
done
আউটপুট:
1 2 3 4 5
কারেন্ট ডিরেক্টরির ফাইল লিস্ট প্রিন্ট করার জন্য For Loop
ব্যাশ for লুপ ব্যবহার করে কারেন্ট ডিরেক্টরির সব ফাইল লিস্ট করতে:
#!/bin/bash
for fname in ./*
do
ls -l $fname
done
ব্যাশ While Loop
ব্যাশ while লুপও সাপোর্ট করে। While লুপ নির্দেশাবলীর একটি সেট এক্সিকিউট করে যতক্ষণ না শর্তটি true 評估 হয়।
ব্যাশ while লুপের সিনট্যাক্স:
while [condition]
do
// নির্দেশাবলী এক্সিকিউট
done
শর্তটি যেকোনো নির্দেশাবলী এক্সিকিউট করার আগে 評估 করা হয়। তাই শর্ত আপডেট করার উপায় থাকতে হবে, অন্যথায় লুপ চিরকাল চলবে।
ব্যাশ While Loop উদাহরণ
নিচে একটি সিম্পল while লুপ দেওয়া হলো যা 1 থেকে 5 পর্যন্ত সংখ্যা প্রিন্ট করে। লুপটি তখন বন্ধ হয় যখন সংখ্যা 5 এর চেয়ে বড় হয়।
#!/bin/bash
num=1
while [ $num -le 5 ]
do
echo "$num"
let num++
done
ব্যাশ C-স্টাইল While Loop
for লুপের মতো while লুপও C-স্টাইলে লেখা যায়।
উদাহরণ:
#!/bin/bash
num=1
while((num <= 5))
do
echo $num
let num++
done