Bash-এ for, while, এবং until তিনটি লুপ কনস্ট্রাক্ট। প্রতিটি লুপ সিনট্যাক্টিক্যালি এবং ফাংশনালি ভিন্ন হলেও তাদের উদ্দেশ্য হলো একটি নির্দিষ্ট এক্সপ্রেশন ইভ্যালুয়েট হলে কোড ব্লক ইটারেট করা।
Until লুপ একটি কোড ব্লক এক্সিকিউট করতে ব্যবহৃত হয় যতক্ষণ না এক্সপ্রেশন false হিসেবে ইভ্যালুয়েট হয়। এটি while লুপের সঠিক বিপরীত। While লুপ কোড ব্লক চলে যতক্ষণ এক্সপ্রেশন true, আর until লুপ তার বিপরীত করে।
until [ expression ] do code block ... done
সিনট্যাক্স ভেঙে দেখা যাক:
- লুপ শুরু করতে until কিওয়ার্ড ব্যবহার করুন এবং এক্সপ্রেশন সিঙ্গল বা ডাবল ব্রেসের ভিতরে রাখুন।
- এক্সপ্রেশন false হিসেবে ইভ্যালুয়েট হওয়া পর্যন্ত কোড ব্লক চলবে না।
- আসলে কোড ব্লক do এবং done-র মাঝে রাখা হয়।
এই সংক্ষিপ্ত আর্টিকেলে আপনি শেল স্ক্রিপ্টে until লুপ ব্যবহার শিখব নিচের উদাহরণগুলো দিয়ে।
স্ক্রিপ্টে ইনফিনিট লুপ তৈরি করুন
false স্টেটমেন্ট এক্সপ্রেশন হিসেবে ব্যবহার করে ইনফিনিট লুপ তৈরি করতে পারেন। ইনফিনিট লুপ সিমুলেট করার সময় sleep ব্যবহার করার চেষ্টা করুন যা স্ক্রিপ্টকে পিরিয়ডিকলি পাস করবে।
count=0 until false do echo "Counter = $count" ((count++)) sleep 2 done
সিঙ্গল লাইন স্টেটমেন্ট তৈরি করুন
আপনি সিঙ্গল-লাইন লুপ স্টেটমেন্ট তৈরি করতে পারেন। নিচের কোডটি দেখুন। এটি আমাদের প্রথম ইনফিনিট লুপ উদাহরণের সেম কিন্তু সিঙ্গল লাইনে। এখানে প্রতিটি স্টেটমেন্ট টার্মিনেট করতে সেমিকোলন (;) ব্যবহার করতে হবে।
# until false; do echo "Counter = $count"; ((count++)); sleep 2; done
Break এবং Continue স্টেটমেন্ট দিয়ে ফ্লো পরিবর্তন করুন
আপনি while লুপের ভিতরে break এবং continue স্টেটমেন্ট ব্যবহার করতে পারেন। break স্টেটমেন্ট লুপ থেকে বের হয়ে যায় এবং কন্ট্রোল পরবর্তী স্টেটমেন্টে পাস করে, যখন continue স্টেটমেন্ট বর্তমান ইটারেশন স্কিপ করে এবং লুপে পরবর্তী ইটারেশন শুরু করে।
আমি একই ইনফিনিট লুপ উদাহরণ ব্যবহার করছি। এখানে কাউন্ট ৫ হলে continue স্টেটমেন্ট পরবর্তী ইটারেশনে জাম্প করে লুপ বডির বাকি অংশ স্কিপ করে। একইভাবে, কাউন্ট ১০ বা তার বেশি হলে লুপ break হয়।
count=0
until false
do
((count++))
if [[ $count -eq 5 ]]
then
continue
elif [[ $count -ge 10 ]]
then
break
fi
echo "Counter = $count"
done
এই আর্টিকেলের জন্য এতটুকু। আমরা অন্য একটি আকর্ষণীয় আর্টিকেল নিয়ে দ্রুত ফিরব 'until' তখন পড়তে থাকুন এবং আমাদের সমর্থন করুন।