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

Bash If-Else সিনট্যাক্স: লিনাক্স শেল সিদ্ধান্ত নেওয়ার দক্ষতা 습得 করুন

Bash If-Else সিনট্যাক্স: লিনাক্স শেল সিদ্ধান্ত নেওয়ার দক্ষতা 습得 করুন

কোডিং করার সময়, আপনাকে নির্দিষ্ট শর্তের ওপর ভিত্তি করে সিদ্ধান্ত নেওয়া হতে পারে। শর্ত হলো এক্সপ্রেশন যেগুলো বুলিয়ান এক্সপ্রেশনে ইভ্যালুয়েট হয় (true বা false)।

নির্দিষ্ট শর্তের ওপর ভিত্তি করে বিভিন্ন কোড ব্রাঞ্চ এক্সিকিউট করতে সাহায্য করা স্টেটমেন্টগুলাকে কন্ডিশনাল স্টেটমেন্ট বলে।

if...else সবচেয়ে কমনলি ব্যবহৃত কন্ডিশনাল স্টেটমেন্ট। অন্য প্রোগ্রামিং ল্যাঙ্গুয়েজের মতো, Bash স্ক্রিপ্টিং-ও if...else স্টেটমেন্ট সাপোর্ট করে। এবং আমরা সেটি ডিটেইলে এই ব্লগ পোস্টে পড়ব।

if স্টেটমেন্টের সিনট্যাক্স

আপনি if স্টেটমেন্ট বিভিন্ন উপায়ে ব্যবহার করতে পারেন। if স্টেটমেন্টের জেনেরিক স্ট্রাকচার নিচের মতো:

  • শুধু if স্টেটমেন্ট ব্যবহার: if...then...fi
  • if সাথে else স্টেটমেন্ট ব্যবহার: if...then...else...fi স্টেটমেন্ট
  • if সাথে একাধিক else স্টেটমেন্ট ব্যবহার: if..elif..else..fi

##

if স্টেটমেন্ট কীভাবে ব্যবহার করবেন

যখন আপনি একটি একক if স্টেটমেন্ট ব্যবহার করছেন, সিনট্যাক্স নিচের মতো:

if [ condition ] then statement fi 

নোট করুন যে স্পেসগুলো সিনট্যাক্সের অংশ এবং রিমুভ করা উচিত নয়।

একটি উদাহরণে যাই যেখানে আমরা দুটি নাম্বার কমপেয়ার করছি খুঁজে বের করতে যে প্রথম নাম্বারটি ছোট কিনা।

#! /bin/sh a=5 b=30 if [ $a -lt $b ] then echo "a is less than b" fi 

আপনি উপরের স্নিপেট রান করলে, কন্ডিশন if [ $a -lt $b ] True ইভ্যালুয়েট করে, এবং if স্টেটমেন্টের ভিতরের স্টেটমেন্ট এক্সিকিউট হয়।

আউটপুট:

a is less than b 

if .. else স্টেটমেন্ট কীভাবে ব্যবহার করবেন

যখন আপনি একটি if স্টেটমেন্ট ব্যবহার করছেন এবং আরেকটি কন্ডিশন যোগ করতে চান, সিনট্যাক্স নিচের মতো:

if [ condition ] then statement else do this by default fi 

একটি উদাহরণ দেখি যেখানে আমরা খুঁজে বের করতে চাই প্রথম নাম্বারটি দ্বিতীয়টি থেকে বড় কিনা ছোট কিনা। এখানে, if [ $a -lt $b ] ইভ্যালুয়েট হয় false, যা কোডের else পার্ট রান করাতে।

#! /bin/sh a=99 b=45 if [ $a -lt $b ] then echo "a is less than b" else echo "a is greater than b" fi 

আউটপুট:

a is greater than b 

if..elif..else স্টেটমেন্ট কীভাবে ব্যবহার করবেন

ধরা যাক আপনি আরও কন্ডিশন এবং কমপেরিজন যোগ করতে চান কোডকে ডাইনামিক করার জন্য। এই কেসে, সিনট্যাক্স এরকম দেখাবে:

if [ condition ] then statement elif [ condition ] then statement else do this by default fi 

অর্থপূর্ণ কমপেরিজন তৈরি করতে, আমরা AND -a এবং OR -o লজিক্যাল অপারেটরও ব্যবহার করতে পারি।

এই উদাহরণে, আমরা এই কন্ডিশনগুলো ব্যবহার করে ট্রায়্যাঙ্গলের টাইপ নির্ধারণ করব:

  • Scalene: এমন একটি ট্রায়্যাঙ্গল যেখানে প্রতিটি সাইড দৈর্ঘ্যে ভিন্ন।
  • Isosceles: এমন একটি ট্রায়্যাঙ্গল যেখানে ২টি সাইড সমান।
  • Equilateral: এমন একটি ট্রায়্যাঙ্গল যেখানে সব সাইড সমান।
read a read b read c if [ $a == $b -a $b == $c -a $a == $c ] then echo EQUILATERAL elif [ $a == $b -o $b == $c -o $a == $c ] then echo ISOSCELES else echo SCALENE fi 

উপরের উদাহরণে, স্ক্রিপ্ট ইউজারকে ট্রায়্যাঙ্গলের তিনটি সাইড ইনপুট দিতে বলে। তারপর, সেটি সাইডগুলো কমপেয়ার করে এবং ট্রায়্যাঙ্গলের টাইপ সিদ্ধান্ত নেয়।

3 4 5 SCALENE 

উপসংহার

আপনি সহজে আপনার কোড শর্তের ওপর ভিত্তি করে ব্রাঞ্চ করতে পারেন যেমন if..else এবং কোডকে আরও ডাইনামিক করতে পারেন। এই টিউটোরিয়ালে, আপনি if...else-এর সিনট্যাক্স এবং কিছু উদাহরণ শিখলেন।

আশা করি এই টিউটোরিয়াল আপনাকে সাহায্য করল।

এই টিউটোরিয়াল থেকে আপনার ফেভারিট কী শিখলেন? টوییটারে জানাতে পারেন!

আপনি আমার অন্যান্য পোস্ট এখানে পড়তে পারেন।

নিঃশুল্ক কোডিং শিখুন। freeCodeCamp-এর ওপেন সোর্স কারিকুলাম ৪০,০০০-এর বেশি লোককে ডেভেলপার হিসেবে চাকরি পেতে সাহায্য করেছে। শুরু করুন।

  1. রিকার্সিভ ইনসারশন সর্টের পাইথন প্রোগ্রাম

  2. Tkinter(Python)-এ root.destroy() এবং root.quit() এর পার্থক্য কী?

  3. Redis SINTER ও SINTERSTORE: সেট ইন্টারসেকশন দক্ষতার সাথে করুন

  4. Android Service-এ START_STICKY বাস্তবায়ন এবং ব্যাখ্যা