এই আর্টিকেলে আমরা দেখব কীভাবে bash স্ক্রিপ্টে break এবং continue ব্যবহার করতে হয়। Bash-এ তিনটি মূল লুপ কনস্ট্রাক্ট আছে (for, while, until)। Break এবং continue স্টেটমেন্ট bash builtin এবং আপনার লুপের ফ্লো পরিবর্তন করতে ব্যবহৃত হয়। এই break এবং continue কনসেপ্ট পাইথন gibi জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজগুলোতেও আছে।
$ type -a break continue
Break স্টেটমেন্ট দিয়ে লুপ থেকে বের হোন
break স্টেটমেন্ট লুপ থেকে বের হয়ে যায় এবং কন্ট্রোল লুপের পরবর্তী স্টেটমেন্টে চলে যায়। help কমান্ড চালিয়ে break স্টেটমেন্ট সম্পর্কে কিছু ইনফো পেতে পারেন।
$ help break
break-এর বেসিক সিনট্যাক্স:
$ break [n] # n অপশনাল
নিচের উদাহরণটি দেখুন। এটি একটি সিম্পল for লুপ যা ১ থেকে ২০ পর্যন্ত ২ স্টেপ ইনক্রিমেন্টে ইটারেট করে। কন্ডিশনাল স্টেটমেন্ট এক্সপ্রেশন ইভ্যালুয়েট করে এবং যখন true ($val = 9) হয়, তখন break স্টেটমেন্ট রান করে এবং লুপ টার্মিনেট হয়, বাকি ইটারেশন স্কিপ হয়।
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
break
else
echo "printing ${val}"
fi
done
Continue স্টেটমেন্ট দিয়ে একটি ইটারেশন স্কিপ করুন
আপনি যদি পুরো লুপ থেকে বের হোন না চান কিন্তু নির্দিষ্ট কন্ডিশন মেট হলে কোড ব্লক স্কিপ করতে চান? এটি continue স্টেটমেন্ট দিয়ে করা যায়। continue স্টেটমেন্ট নির্দিষ্ট কন্ডিশন মেট হলে কোড ব্লক এক্সিকিউশন স্কিপ করে এবং কন্ট্রোল লুপ স্টেটমেন্টে ফেরত যায় পরবর্তী ইটারেশনের জন্য।
হেল্প এক্সেস করতে:
$ help continue
ব্রেক স্টেটমেন্টের জন্য ব্যবহৃত একই উদাহরণটি নিচে দেওয়া হলো। এখন Val ৯ হলে continue স্টেটমেন্ট বাকি সব কোড ব্লক স্কিপ করে এবং ফর লুপে কন্ট্রোল পাস করে পরবর্তী ইটারেশনের জন্য।
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
continue
fi
echo "printing ${val}"
done
আপনি যদি python জানেন তবে break এবং continue এর আচরণ পাইথনেও একই। কিন্তু পাইথন একটি আরো লুপ কন্ট্রোল স্টেটমেন্ট দেয় যাকে pass বলে।
Pass একটি null স্টেটমেন্ট যেটি ইন্টারপ্রেটার পড়ে কিন্তু কোনো অপারেশন পেরফর্ম করে না। এটি সিম্পলি no operation রেজাল্ট দেয়। Bash-এ একই ধরনের স্টেটমেন্ট নেই কিন্তু আমরা true কিওয়ার্ড বা colon (:) দিয়ে এই আচরণ অনুকরণ করতে পারি। true এবং colon উভয় শেল builtin এবং কোনো অপারেশন পেরফর্ম করে না।
$ type -a : true
নিচের উদাহরণটি দেখুন। যখন conditional স্টেটমেন্ট true ($val = 9) হিসেবে ইভ্যালুয়েট হয়, তবে true স্টেটমেন্ট কিছুই করবে না এবং লুপ চলতে থাকবে।
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
true
fi
echo "printing ${val}"
done
এই আর্টিকেলের জন্য এতটুকু। আপনার মূল্যবান ফিডব্যাক এবং টিপস জানাতে চাই।