কম্পিউটার টিউটোরিয়াল

ব্যাশ (Bash) স্ক্রিপ্টে IF-স্টেটমেন্ট লেখার পদ্ধতি

IF স্টেটমেন্ট কী?

if স্টেটমেন্ট একটি শর্তাধীন (conditional) স্টেটমেন্ট যা নির্দিষ্ট শর্তের উপর ভিত্তি করে আলাদা কাজ সম্পাদন করতে সক্ষম করে। এটি সিস্টেমকে সিদ্ধান্ত গ্রহণের ক্ষমতা দেয়।

সামান্য সিনট্যাক্স

count=5
if [ $count == 5 ]
then
 echo "$count"
fi

ব্যাখ্যা

  • count=5 ভেরিয়েবলে ৫ মান দিয়েছে।
  • if [ $count == 5 ] শর্তটি পরীক্ষা করে।
  • শর্ত সত্য হলে then এবং fi মাঝপথের কমান্ড (echo "$count") এক্সিকিউট হয়।
  • fi হলো if-এর উল্টা綴র, যা ব্লকের শেষ নির্দেশ করে।
  • ইন্ডেন্টেশন কোড পঠনযোগ্য করে, বাধ্যতামূলক নয়।

else ব্লক ব্যবহার (শর্ত মিথ্যা হলে)

count=5
if [ $count == 5 ]
then
 echo "$count"
else
 echo "count is not 5"
fi

শর্ত সত্য হলে ভেরিয়েবলের মান প্রিন্ট হবে, মিথ্যা হলে "count is not 5" প্রিন্ট হবে।

elif দিয়ে একাধিক শর্ত যাচাই

elif (else if-এর সংক্ষিপ্ত) একাধিক শর্ত আলাদা আলাদা হ্যান্ডেল করতে ব্যবহৃত হয়।

if [ $count == 5 ]
then
 echo "count is five"
elif [ $count == 6 ]
then
 echo "count is six"
else
 echo "none of the above"
fi

count ৫ হলে "count is five", ৬ হলে "count is six", অন্যথায় "none of the above" প্রিন্ট হবে।

অনেক elif এর উদাহরণ

if [ $count == 5 ]
then
 echo "count is five"
elif [ $count == 6 ]
then
 echo "count is six"
elif [ $count == 7 ]
then
 echo "count is seven"
elif [ $count == 8 ]
then
 echo "count is eight"
elif [ $count == 9 ]
then
 echo "count is nine"
else
 echo "none of the above"
fi

case স্টেটমেন্ট: সংক্ষিপ্ত বিকল্প

একাধিক শর্তের জন্য case স্টেটমেন্ট if-elif-এর চেয়ে কমপ্যাক্ট এবং পঠনযোগ্য।

case "$count" in
5)
 echo "count is five"
 ;;
6)
 echo "count is six"
 ;;
7)
 echo "count is seven"
 ;;
8)
 echo "count is eight"
 ;;
9)
 echo "count is nine"
 ;;
*)
 echo "none of the above"
esac

প্রতিটি প্যাটার্নের পর ;; দিয়ে ব্লক শেষ করা হয়। * হলো ডিফল্ট কেস।

লুপের ভিতরে IF স্টেটমেন্ট

if স্টেটমেন্ট প্রায় for বা while লুপের ভিতরে ব্যবহার হয়।

count=1
done=0
while [ $count -le 9 ]
do
 sleep 1
 (( count++ ))
 if [ $count == 5 ]
 then
 continue
 fi
 echo "$count"
done
echo Finished

এখানে count ৫ হলে continue দিয়ে ঐ ইটারেশন স্কিপ করে।

নেস্টেড (Nested) IF স্টেটমেন্ট

এক if-র ভিতরে অন্য if ব্যবহার করা যায়। সহজ ফর্ম: if...then...else...if...then...fi...fi। জটিলতা যেকোনো স্তরে নেওয়া যায়।

আরও পড়ুন

  • ব্যাশ স্ক্রিপ্টে আর্গুমেন্ট পাস করার পদ্ধতি (কমান্ড লাইন প্যারামিটার প্রসেসিং)।
  • ব্যাশ শেলের অন্যান্য প্রোগ্রামিং কনস্ট্রাক্ট: for-loop, while-loop, arithmetic expressions।
  1. মাইক্রোসফট ওয়ার্ডে ওয়ার্ড কাউন্ট দেখার পদ্ধতি

  2. এক্সেলে IF ফর্মুলা/স্টেটমেন্ট লেখার পদ্ধতি

  3. লিনাক্স থেকে উইন্ডোজ পার্টিশনে রাইট করার পদ্ধতি

  4. মাস্টারিং বাশ লুপ: দক্ষ ফাইল প্রসেসিং-এর ধাপে ধাপে গাইড