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