কিভাবে একটি ব্যাশ স্ক্রিপ্ট IF- বিবৃতি লিখুন

কমান্ড, সিনট্যাক্স, এবং উদাহরণ

একটি আই-স্টেটমেন্ট দিয়ে, যা শর্তাধীন বিবৃতির একটি ধরন, আপনি নির্দিষ্ট শর্তগুলির উপর নির্ভর করে বিভিন্ন ক্রিয়া করতে পারেন। এটি কার্যকরভাবে সিস্টেম সিদ্ধান্ত নিতে ক্ষমতা দেয়।

একটি ই-স্টেটমেন্টের সহজতর ফর্মের একটি উদাহরণ হতে পারে:

গণনা = 5 যদি [$ গণনা == 5] তারপর "$ গণনা" ফাই "

এই উদাহরণে, পরিবর্তনশীল "গণনা" একটি শর্ত উল্লেখ করার জন্য ব্যবহৃত হয় যা এফ-স্টেটমেন্টের অংশ হিসেবে ব্যবহৃত হয়। যদি-বিবৃতি কার্যকর করা হয়, তবে পরিবর্তনশীল "গণনা" মান "5" নির্ধারিত হয়। যদি-বিবৃতিটি পরীক্ষা করে "গণনা" মানে "5" হয় কিনা তা পরীক্ষা করে। যদি এমন হয় তবে কীওয়ার্ডগুলি "তারপর" এবং "ফাই" মধ্যে বিবৃতিটি কার্যকর করা হয়, না হলে অন্য কোন বিবৃতি যদি-বিবৃতি কার্যকর করা হয়। কীওয়ার্ড "ফাই" হল "যদি" বানান ভুল করে বিস্ স্ক্রিপ্টিংয়ের ভাষা জটিল সংশ্লেষণের শেষে চিহ্নিত করার জন্য এই কনভেনশনটি ব্যবহার করে, যেমন- স্টেটমেন্ট বা কেস-স্টেটমেন্টগুলি।

"ইকো" স্টেটমেন্ট তার যুক্তি ছাপে, এই ক্ষেত্রে, পরিবর্তনশীল "গণনা" এর মান, টার্মিনাল উইন্ডোতে। যদি-বিবৃতির কীওয়ার্ডের মধ্যে কোডের ইনডেন্টেশন পাঠযোগ্যতা উন্নত করে কিন্তু এটি প্রয়োজনীয় নয়।

যদি আপনার একটি পরিস্থিতি থাকে যেখানে একটি কোডটি শুধুমাত্র একটি শর্ত সত্য না হলেই কার্যকর করা উচিত, তাহলে আপনি এই উপায়ে একটি "স্টেটমেন্ট" এ "অন্য" কীওয়ার্ড ব্যবহার করতে পারেন:

গণনা = 5 যদি [$ গণনা == 5] তারপর "$ গণনা" আরেকটি প্রতিধ্বনি ইকো "গণনা 5 না"

যদি শর্ত "$ গণনা == 5" সত্য হয় তবে সিস্টেমটি ভেরিয়েবল "গণনা" এর মানটি ছাপে, অন্যথায় এটি স্ট্রিং "গণনা 5 না" মুদ্রণ করে।

আপনি যদি একাধিক অবস্থার মধ্যে পার্থক্য করতে চান, তাহলে আপনি "ELIF" শব্দটি ব্যবহার করতে পারেন, যা "অন্য যদি" ​​থেকে প্রাপ্ত হয়, যেমন এই উদাহরণে:

যদি [$ গণনা == 5] তারপর "গণনা পাঁচটি" এলিফ [$ গণনা == 6] প্রতিধ্বনি করে তারপর "গণনা ছয়" গণনা করা হয় "উপরের কোনটিই নয়"

যদি "গণনা" হয় "5", সিস্টেমটি প্রিন্ট করে "গণনা পাঁচ" হয়। "গণনা" যদি "5" না তবে "6" হয়, তাহলে সিস্টেম "গণনা ছয়" মুদ্রণ করে। যদি এটি "5" এবং "6" না হয় তবে সিস্টেম "উপরের কোনটিই" মুদ্রণ করে না।

আপনি অনুমান করা হতে পারে হিসাবে, আপনি "elif" সংখ্যার কোনো সংখ্যা থাকতে পারে। একাধিক "Elif" অবস্থার সঙ্গে একটি উদাহরণ হতে হবে:

যদি [$ গণনা == 5] তারপর "গণনা পাঁচ" হয় তাহলে [গণনা = 5] elcho [$ count == 6] তারপর প্রতিধ্বনিত হয় "গণনা ছয়" এলিফ [$ গণনা == 7] তারপর "গণনা সাত" = 8] তারপর echo "গণনা আট" এলিফ [$ গণনা == 9] তারপর "গণনা সংখ্যা নয়" এবং "উপরে"

একাধিক অবস্থার সঙ্গে এই ধরনের বিবৃতি লিখতে একটি আরো কম্প্যাক্ট পদ্ধতি কেস পদ্ধতি। এটি একাধিক "Elif" উপায়ে যদি-স্টেটমেন্টের অনুরূপ কাজ করে তবে আরো সংক্ষিপ্ত হয়। উদাহরণস্বরূপ, কোডের উপরোক্ত টুকরাটি "কেস" বিবৃতির সাথে পুনরায় লিখিত হতে পারে:

কেস "$ গণনা" 5) প্রতিধ্বনি "গণনা পাঁচ";; 6) ইকো "গণনা ছয়";; 7) ইকো "গণনা সাত";; 8) echo "গণনা আট";; 9) echo "গণনা সংখ্যা নয়";; *) echo "উপরের কোনটিই" esac নয়

যদি-বিবৃতিগুলি প্রায়ই -জন্য loops ভিতরে বা এই- loops এই উদাহরণ হিসাবে ব্যবহার করা হয়:

গণনা = 1 সম্পন্ন = 0 এবং [$ গণনা -9 9] ঘুম 1 ((গণনা ++)) যদি [$ গণনা == 5] হয় তাহলে "$ গণনা" করুন "

আপনি বিবৃতি যদি নেস্টেড থাকতে পারে। নিছক নেস্টেড যদি বিবৃতিটি হয়: যদি ... তাহলে ... অন্য ... যদি ... তাহলে ... ফাই ... ফাই। যাইহোক, যদি-বিবৃতি অযৌক্তিক জটিলতা সঙ্গে নেস্টেড করতে পারেন।

এছাড়াও একটি বিশ স্ক্রিপ্টে আর্গুমেন্টগুলি পাস করার পদ্ধতিটি দেখায়, যা কমান্ড লাইন থেকে গৃহীত প্যারামিটারগুলি প্রক্রিয়া করার শর্তাবলী ব্যবহার করে কীভাবে দেখায়।

Bash শেলটি অন্য প্রোগ্রামিং নির্মাণগুলি প্রদান করে, যেমন- লুপস , লে-লুপ , এবং আর্গুমেন্ট এক্সপ্রেশন