একটি ব্যাশ স্ক্রিপ্ট মধ্যে টেস্ট শর্তাবলী ব্যবহার করুন কিভাবে

পরীক্ষা কমান্ডটি লিনাক্স কমান্ড লাইনের সাথে আরেকটি উপাদানের তুলনা করার জন্য ব্যবহার করা যেতে পারে কিন্তু এটি শর্তসাপেক্ষ বিবৃতির অংশ হিসাবে ব্যাশ শেল স্ক্রিপ্টগুলিতে সাধারণত সাধারণভাবে ব্যবহৃত হয় যা লজিক এবং প্রোগ্রাম প্রবাহ নিয়ন্ত্রণ করে।

একটি মৌলিক উদাহরণ

আপনি কেবলমাত্র একটি টার্মিনাল উইন্ডো খোলার মাধ্যমে এই কমান্ডগুলি ব্যবহার করতে পারেন।

পরীক্ষা 1-ইক 2 && ইকো "হ্যাঁ" || echo "no"

নিম্নোক্ত কমান্ডটি নিম্নরূপ নিচে ভাগ করা যায়:

মূলত, কমান্ড 1 থেকে 2 এর সাথে তুলনা করা হয় এবং তারা ইকো "হ্যাঁ" স্টেটমেন্টের সাথে মিলিত হয় যা "yes" প্রদর্শন করে এবং যদি তারা echo "no" স্টেটমেন্ট কার্যকর না করে যা "না" প্রদর্শন করে তাহলে

তুলনা সংখ্যাগুলি

যদি আপনি এমন সংখ্যাগুলি তুলনা করেন যা সংখ্যা হিসাবে পার্স করে আপনি নিম্নলিখিত তুলনা অপারেটর ব্যবহার করতে পারেন:

উদাহরণ:

পরীক্ষা 1-ইক 2 && ইকো "হ্যাঁ" || echo "no"

(স্ক্রীনে "না" প্রদর্শন করে কারণ 1 টি সমান নয়)

পরীক্ষা 1 -২ এবং & echo "হ্যাঁ" || echo "no"

(স্ক্রীনে "না" প্রদর্শিত হয় কারণ 1 বড় বা সমান নয় 2)

পরীক্ষা 1 -gt 2 && প্রতিধ্বনি "হ্যাঁ" || echo "no"

(স্ক্রীনে "না" প্রদর্শিত হয় কারণ 1 2 এর থেকে বড় নয়)

পরীক্ষা 1-লে 2 && ইকো "হ্যাঁ" || echo "no"

(স্ক্রীনে "হ্যাঁ" প্রদর্শন করে কারণ 1টি 2 এর কম বা এর সমান)

পরীক্ষা 1 -লটি 2 && ইকো "হ্যাঁ" || || echo "no"

(স্ক্রীনে "হ্যাঁ" প্রদর্শন করে কারণ 1টি 2 এর কম বা এর সমান)

পরীক্ষা 1-এর 2 এবং& প্রতিধ্বনি "হ্যাঁ" || echo "no"

(স্ক্রীনে "হ্যাঁ" প্রদর্শন করে কারণ 1 টি সমান নয়)

পাঠ্য তুলনা

আপনি স্ট্রিং হিসাবে পার্স যে উপাদান তুলনা করা হলে আপনি নিম্নলিখিত তুলনা অপারেটর ব্যবহার করতে পারেন:

উদাহরণ:

পরীক্ষা "string1" = "string2" && echo "হ্যাঁ" || || echo "no"

(স্ক্রীনে "না" প্রদর্শন করে কারণ "string1" সমান নয় "string2")

পরীক্ষা "string1"! = "string2" && echo "হ্যাঁ" || echo "no"

(স্ক্রীনে "হ্যাঁ" প্রদর্শন করে কারণ "string1" "স্ট্রিং 2" সমান নয়)

test -n "string1" && echo "yes" || || echo "no"

(স্ক্রীনে "হ্যাঁ" প্রদর্শন করে কারণ "string1" এর শূন্যের থেকে একটি স্ট্রিং দৈর্ঘ্য বেশি)

test -z "string1" && echo "yes" || || echo "no"

(স্ক্রিনে "না" প্রদর্শন করে কারণ "string1" এর শূন্যের থেকে বেশি স্ট্রিং লাইন আছে)

ফাইল তুলনা

আপনি ফাইলগুলি তুলনা করলে আপনি নিম্নলিখিত তুলনা অপারেটর ব্যবহার করতে পারেন:

উদাহরণ:

test / path / to / file1 -n / path / to / file2 && echo "yes"

(যদি file1 ফাইল ২ এর চেয়ে নতুন হয় তবে "হ্যাঁ" শব্দ প্রদর্শিত হবে)

test -e / path / to / file1 && echo "yes"

(যদি ফাইল 1 বিদ্যমান থাকে তবে "হ্যাঁ" শব্দ প্রদর্শিত হবে)

test -o / path / to / file1 && echo "yes"

(যদি আপনি ফাইল 1 মালিক হন তবে "হ্যাঁ" শব্দ প্রদর্শিত হয়)

পরিভাষা

একাধিক শর্তাবলী তুলনা

এখন পর্যন্ত সবকিছুই একের সাথে একের সাথে তুলনা করছে কিন্তু যদি আপনি দুটি শর্ত তুলনা করতে চান

উদাহরণস্বরূপ, যদি একটি প্রাণী 4 পা আছে এবং যায় "moo" এটি সম্ভবত একটি গাভী শুধু 4 পায়ে পরীক্ষা করার নিশ্চয়তা দেয় না যে আপনার একটি গরু আছে কিন্তু এটি নিশ্চিত করে তোলে শব্দ চেক করে

উভয় অবস্থার পরীক্ষা একবার নিম্নলিখিত বিবৃতি ব্যবহার করুন:

পরীক্ষা 4-4qqqqqqqqqqqqqqqqqkqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ইকো "এটি একটি গরু নয়"

এখানে মূল অংশ- একটি যা দাঁড়িয়েছে এবং।

একই পরীক্ষা সম্পাদনের একটি ভাল এবং আরো সাধারণভাবে ব্যবহৃত উপায় আছে এবং এটি নিম্নরূপঃ

পরীক্ষা 4-ইক 4 এবং টেস্ট "moo" = "moo" && echo "এটি একটি গরু" || ইকো "এটি একটি গরু নয়"

আরেকটি পরীক্ষা যা আপনি করতে চান তা দুইটি বিবৃতির তুলনা করতে পারেন এবং যদি সত্য ফলাফল হয় একটি স্ট্রিং। উদাহরণস্বরূপ, যদি আপনি "file1.txt" নামে একটি ফাইল উপস্থিত বা "file1.doc" নামক একটি ফাইল বিদ্যমান রয়েছে তা পরীক্ষা করতে চান তবে আপনি নিম্নোক্ত কমান্ডটি ব্যবহার করতে পারেন

test -e file1.txt -o -e file1.doc && echo "file1 exists" || || echo "file1 বিদ্যমান নেই"

এখানে মূল অংশটি হল -o যা দাঁড়িয়েছে বা এর জন্য।

একই পরীক্ষা সম্পাদনের একটি ভাল এবং আরো সাধারণভাবে ব্যবহৃত উপায় আছে এবং এটি নিম্নরূপঃ

test -e file1.txt || || test -e file1.doc && echo "file1 exists" || echo "file1 বিদ্যমান নেই"

পরীক্ষার মূলশব্দ দূর করে

তুলনা করার জন্য আপনাকে আসলে শব্দ পরীক্ষাটি ব্যবহার করতে হবে না। আপনাকে যা করতে হবে তা নিম্নরূপঃ বর্গাকার বন্ধনীগুলির বিবৃতিটি বন্ধ করা হয়েছে:

[-e ফাইল 1.txt] && ইকো "ফাইল 1 বিদ্যমান" || echo "file1 বিদ্যমান নেই"

[এবং] মূলত পরীক্ষা হিসাবে একই মানে।

এখন আপনি জানেন যে আপনি নিম্নোক্ত শর্তগুলি তুলনায় উন্নত করতে পারেন:

[4 -কী 4] && ["মুও" = "মু") && ইকো "এটি একটি গরু" || ইকো "এটি একটি গরু নয়"

[-e ফাইল 1.txt] || || [-e file1.doc] && ইকো "ফাইল 1 বিদ্যমান" || echo "file1 বিদ্যমান নেই"

সারাংশ

স্ক্রিপ্টগুলিতে পরীক্ষা কমান্ডটি আরো দরকারী কারণ আপনি অন্য একের ভেরিয়েবলের মান পরীক্ষা করতে পারেন এবং প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে পারেন। স্ট্যান্ডার্ড কমান্ড লাইনের উপর, আপনি এটি ব্যবহার করতে পারেন কিনা তা পরীক্ষা করতে একটি ফাইল বিদ্যমান বা