লজিক্যাল অপারেটর এবং অ্যাডভান্সড কন্ডিশনাল স্টেটমেন্ট
লজিক্যাল অপারেটর এবং অ্যাডভান্সড কন্ডিশনাল স্টেটমেন্টগুলি প্রোগ্রামিং এবং স্ক্রিপ্টিংয়ের একটি গুরুত্বপূর্ণ অংশ, যেগুলি শর্ত পরীক্ষা করার জন্য এবং সিদ্ধান্ত নেবার জন্য ব্যবহৃত হয়। UNIX বা LINUX স্ক্রিপ্টিংয়ে (যেমন bash স্ক্রিপ্টিং) লজিক্যাল অপারেটর এবং কন্ডিশনাল স্টেটমেন্ট গুলি সিস্টেম অ্যাডমিনিস্ট্রেশন, ফাইল ব্যবস্থাপনা, এবং ত্রুটি চিহ্নিতকরণের জন্য অত্যন্ত গুরুত্বপূর্ণ।
লজিক্যাল অপারেটর
লজিক্যাল অপারেটরগুলি দুটি বা ততোধিক শর্তের মধ্যে সম্পর্ক স্থাপন করতে ব্যবহৃত হয়। এই অপারেটরগুলি কন্ডিশনাল স্টেটমেন্টগুলির মধ্যে যৌক্তিক যাচাই করার জন্য সহায়ক।
১. AND (&&):
লজিক্যাল AND অপারেটর && দুটি শর্ত একসাথে পরীক্ষা করে এবং সত্য হবে যদি দুটি শর্তই সত্য হয়।
সিনট্যাক্স:
[ condition1 ] && [ condition2 ]কমান্ড উদাহরণ:
if [ $age -ge 18 ] && [ $age -le 60 ]; then
echo "You are eligible."
fiএখানে, দুটি শর্ত $age যদি ১৮ বা তার বেশি এবং ৬০ বা তার কম হয়, তখন কন্ডিশন সত্য হবে এবং বার্তা "You are eligible." প্রিন্ট হবে।
২. OR (||):
লজিক্যাল OR অপারেটর || দুটি শর্ত পরীক্ষা করে এবং সত্য হবে যদি কোনো একটি শর্ত সত্য হয়।
সিনট্যাক্স:
[ condition1 ] || [ condition2 ]কমান্ড উদাহরণ:
if [ $age -lt 18 ] || [ $age -gt 60 ]; then
echo "You are not eligible."
fiএখানে, যদি $age ১৮ এর কম অথবা ৬০ এর বেশি হয়, তাহলে কন্ডিশন সত্য হবে এবং বার্তা "You are not eligible." প্রিন্ট হবে।
৩. NOT (!):
লজিক্যাল NOT অপারেটর ! একটি শর্তের বিপরীত ফলাফল দেয়, অর্থাৎ এটি শর্তটি যদি মিথ্যা হয় তবে সেটি সত্য করে এবং যদি সত্য হয় তবে সেটি মিথ্যা করে।
সিনট্যাক্স:
! [ condition ]কমান্ড উদাহরণ:
if ! [ -f "file.txt" ]; then
echo "file.txt does not exist."
fiএখানে, যদি file.txt ফাইলটি না থাকে, তাহলে বার্তা "file.txt does not exist." প্রিন্ট হবে।
অ্যাডভান্সড কন্ডিশনাল স্টেটমেন্ট
UNIX এবং LINUX স্ক্রিপ্টিংয়ে কিছু অ্যাডভান্সড কন্ডিশনাল স্টেটমেন্ট রয়েছে, যা if-else, elif, case স্টেটমেন্টের মাধ্যমে আরও উন্নত লজিক তৈরি করতে সহায়ক।
১. if-else স্টেটমেন্ট:
if স্টেটমেন্টটি শর্ত পরীক্ষা করে এবং যদি শর্ত সত্য হয়, তবে একটি নির্দিষ্ট কাজ সম্পাদন করে, অন্যথায় else অংশে দেওয়া কাজটি সম্পাদন করা হয়।
সিনট্যাক্স:
if [ condition ]; then
command1
else
command2
fiকমান্ড উদাহরণ:
if [ $age -ge 18 ]; then
echo "You are an adult."
else
echo "You are a minor."
fiএটি $age যদি ১৮ বা তার বেশি হয়, তাহলে "You are an adult." প্রিন্ট করবে, অন্যথায় "You are a minor." প্রিন্ট করবে।
২. elif (else if):
elif স্টেটমেন্টটি একাধিক শর্ত পরীক্ষা করতে ব্যবহৃত হয়। এটি if-else স্টেটমেন্টের একটি পরিপূরক যা একাধিক শর্তের জন্য else এর পরিবর্তে কাজ করে।
সিনট্যাক্স:
if [ condition1 ]; then
command1
elif [ condition2 ]; then
command2
else
command3
fiকমান্ড উদাহরণ:
if [ $age -ge 18 ]; then
echo "You are an adult."
elif [ $age -ge 13 ]; then
echo "You are a teenager."
else
echo "You are a child."
fiএটি $age এর উপর ভিত্তি করে ভিন্ন ভিন্ন বার্তা প্রিন্ট করবে:
- ১৮ বা তার বেশি হলে "You are an adult."
- ১৩ বা তার বেশি তবে ১৮ এর কম হলে "You are a teenager."
- অন্যথায় "You are a child."
৩. case স্টেটমেন্ট:
case স্টেটমেন্টটি একাধিক শর্ত পরীক্ষা করে, এবং যেকোনো একটি শর্ত মেলালে সংশ্লিষ্ট কোড ব্লকটি চালানো হয়। এটি if-else স্টেটমেন্টের একটি বিকল্প, বিশেষত যখন শর্তগুলি নির্দিষ্ট প্যাটার্নের সাথে মেলে।
সিনট্যাক্স:
case $variable in
pattern1)
command1
;;
pattern2)
command2
;;
*)
default_command
;;
esacকমান্ড উদাহরণ:
echo "Enter a number between 1 and 3"
read number
case $number in
1)
echo "You chose one."
;;
2)
echo "You chose two."
;;
3)
echo "You chose three."
;;
*)
echo "Invalid choice."
;;
esacএটি ব্যবহারকারীর ইনপুটের ভিত্তিতে একটি বার্তা প্রিন্ট করবে।
সারসংক্ষেপ
| লজিক্যাল অপারেটর | ব্যবহার | কমান্ড উদাহরণ |
|---|---|---|
AND (&&) | দুটি শর্ত পরীক্ষা করে এবং উভয় শর্ত সত্য হলে কাজ করে। | [ $age -ge 18 ] && [ $age -le 60 ] |
| **OR (` | `)** | |
NOT (!) | শর্তের বিপরীত ফলাফল দেয়। | ! [ -f "file.txt" ] |
| কন্ডিশনাল স্টেটমেন্ট | ব্যবহার | কমান্ড উদাহরণ |
|---|---|---|
if-else | একটি শর্ত পরীক্ষা করে এবং সত্য হলে একক কাজ, মিথ্যা হলে অন্য কাজ সম্পাদন করে। | if [ $age -ge 18 ]; then echo "Adult"; else echo "Minor"; fi |
elif | একাধিক শর্ত পরীক্ষা করতে ব্যবহৃত হয়। | if [ $age -ge 18 ]; then echo "Adult"; elif [ $age -ge 13 ]; then echo "Teenager"; else echo "Child"; fi |
case | নির্দিষ্ট প্যাটার্নের সাথে শর্ত মিলিয়ে কাজ করে। | case $number in 1) echo "One"; ;; 2) echo "Two"; ;; *) echo "Invalid"; ;; esac |
লজিক্যাল অপারেটর এবং কন্ডিশনাল স্টেটমেন্টগুলি প্রোগ্রামে বিভিন্ন শর্তের উপর ভিত্তি করে সিদ্ধান্ত নেওয়ার জন্য গুরুত্বপূর্ণ টুল। এগুলি আপনাকে শক্তিশালী এবং ডাইনামিক স্ক্রিপ্ট তৈরি করতে সহায়ক।
Read more