প্রধান লিনাক্স বাশ-স্ক্রিপ্টে আইএফ-বিবৃতি কীভাবে লিখবেন
লিনাক্স

বাশ-স্ক্রিপ্টে আইএফ-বিবৃতি কীভাবে লিখবেন

বাশ-স্ক্রিপ্টে আইএফ-বিবৃতি কীভাবে লিখবেন
Anonim

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

Image

যদি একটি বিবৃতি সহজতম ফর্ম একটি উদাহরণ হতে হবে:

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

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

"প্রতিধ্বনি" বিবৃতিটি তার আর্গুমেন্টটি প্রিন্ট করে, এই ক্ষেত্রে, ভেরিয়েবলের "কাউন্ট" এর মান টার্মিনাল উইন্ডোতে। If-ਸਟੇਟমেন্টের কীওয়ার্ডগুলির মধ্যে কোডের সূচনাটি পাঠযোগ্যতার উন্নতি করে তবে এটি প্রয়োজনীয় নয়।

Image

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

গণনা = 5
যদি [$ গণনা == 5]
তারপর
প্রতিধ্বনি "$ গণনা"
আর
প্রতিধ্বনি "গণনা 5 নয়"
ফাই

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

Image

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

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

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

আপনি যেমন অনুমান করতে পারেন, আপনার কাছে বেশ কয়েকটি "এলিফ" ধারা থাকতে পারে। একাধিক "এলিফ" শর্তযুক্ত উদাহরণটি হ'ল:

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

Image

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

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

Image

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

গণনা = 1
কাজ = 0
[[$ গণনা -le 9]
করা
ঘুম 1
((গণনা ++))
যদি [$ গণনা == 5]
তারপর
অবিরত
ফাই
প্রতিধ্বনি "$ গণনা"
সম্পন্ন
প্রতিধ্বনি সমাপ্ত

বিবৃতি যদি আপনি নেস্ট করতে পারেন। বিবৃতিটি ফর্মের মধ্যে থাকলে সর্বাধিক নেস্টেড: যদি … তবে … অন্যথায় … যদি … তবে … ফাই … ফাই। তবে, যদি বিবৃতিটি স্বেচ্ছাসেবী জটিলতার সাথে বাসা বেঁধে রাখতে পারে।

বাশ শেলটি অন্যান্য প্রোগ্রামিং কনস্ট্রাক্টসগুলি সরবরাহ করে, যেমন-লুপগুলি, যখন-লুপগুলি এবং গাণিতিক এক্সপ্রেশন।