ব্যাশ স্ক্রিপ্টিং-এ if-else স্টেটমেন্ট অন্যান্য প্রোগ্রামিং ভাষার মতোই; এটি একটি প্রোগ্রামের সিদ্ধান্ত গ্রহণের পদ্ধতি।
if-else স্টেটমেন্টে, কোড ব্লকের এক্সিকিউশন if শর্তের ফলাফলের ওপর নির্ভর করে।
ব্যাশ If-Else স্টেটমেন্ট সিনট্যাক্স
ব্যাশে if-else স্টেটমেন্টের সিনট্যাক্স:
if [condition]
then
// if ব্লক কোড
else
// else ব্লক কোড
fi
যদি শর্ত true হয়, তবে if ব্লক কোড এক্সিকিউট হয়, এবং যদি false হয় তবে else ব্লক কোড এক্সিকিউট হয়।
দ্রষ্টব্য: if ব্লক শুধু তখন এক্সিকিউট হয় যখন শর্ত true হয়।
else স্টেটমেন্ট এবং এর কোড ব্লক অপশনাল।
if স্টেটমেন্টটি fi কিওয়ার্ড দিয়ে শেষ করতে হয়।
শর্তসাপেক্ষ তুলনা
কন্ডিশনাল কনস্ট্রাক্ট দ্বারা ব্যবহৃত এক্সপ্রেশন অবশ্যই true বা false আউটপুট দিতে হবে। এক্সপ্রেশনটি একটি সিঙ্গেল স্ট্রিং বা ভেরিয়েবল হতে পারে।
- কম হলে - निरূপিত:
$a -lt $bঅথবা$a < $b - বেশি হলে - निरূপিত:
$a -gt $bঅথবা$a > $b - কম বা সমান হলে - निरূপিত:
$a -le $bঅথবা$a <= $b - বেশি বা সমান হলে - निरূপিত:
$a -ge $bঅথবা$a >= $b - সমান হলে - निरূপিত:
$a -eq $bঅথবা$a == $b - অসমান হলে - निरূপিত:
$a -ne $bঅথবা$a != $b
লজিক্যাল অপারেটর
if স্টেটমেন্টের এক্সপ্রেশন একাধিক তুলনার লজিক্যাল কম্বিনেশনও হতে পারে।
লজিক্যাল অপারেটরগুলো:
- লজিক্যাল AND - निरূপিত
$a AND $bঅথবা$a && $b; উভয় ভেরিয়েবল বা স্টেটমেন্ট true হলে true রিটার্ন করে। - লজিক্যাল OR - निरূপিত
$a OR $bঅথবা$a || $b; যেকোনো একটি ভেরিয়েবল বা স্টেটমেন্ট true হলে true রিটার্ন করে।
দ্রষ্টব্য: লজিক্যাল অপারেটর ব্যবহার করার সময় কন্ডিশনাল এক্সপ্রেশন ডাবল ব্রাকেট [[ ]] এর মধ্যে রাখতে হয়।
উদাহরণ:
#!/bin/bash
first_name="John"
last_name="Doe"
if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi
ব্যাশ if উদাহরণ
if স্টেটমেন্ট একটি সিম্পল কন্ডিশনাল স্টেটমেন্ট। যদি if[] এর মধ্যে শর্ত true হয়, তবে if কোড ব্লক এক্সিকিউট হয়।
উদাহরণ:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
fi
দ্রষ্টব্য: উপরের উদাহরণে, যদি 10 এর কম সংখ্যা ইনপুট দেন, তবে কিছুই প্রিন্ট হবে না।
ব্যাশ if-else উদাহরণ
যখন if শর্তের ফলাফল false হয়, তবে else ব্লকের কোড এক্সিকিউট হয় (যদি থাকে)।
উদাহরণ:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
else
echo "The number you entered is less than 10"
fi
ব্যাশ if-elif-else উদাহরণ
elif (else if) তখন ব্যবহার করা হয় যখন একাধিক if শর্ত থাকে।
উদাহরণ:
#!/bin/bash
read -p "Enter your exam grade: " grade
if [ $grade -ge 80 ]
then
echo "You got A"
elif [ $grade -ge 70 ]
then
echo "You got B"
elif [ $grade -ge 60 ]
then
echo "You got C"
else
echo "Fail"
fi
ব্যাশ নেস্টেড if উদাহরণ
আমরা নেস্টেড if স্টেটমেন্টও ব্যবহার করতে পারি।
উদাহরণ:
#!/bin/bash
read -p "Enter value of a :" a
read -p "Enter value of b :" b
read -p "Enter value of c :" c
if [ $a -gt $b ]
then
if [ $a -gt $c ]
then
echo "a is greatest"
else
echo "c is greatest"
fi
else
if [ $b -gt $c ]
then
echo "b is greatest"
else
echo "c is greatest"
fi
fi