Skip to main content

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

কারাতে বীজবহিস্ত্বক Pa (জুন 2025)

কারাতে বীজবহিস্ত্বক Pa (জুন 2025)
Anonim

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

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

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

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

নিম্নোক্ত কমান্ড নিম্নরূপ ভাঙ্গা যাবে:

  • পরীক্ষা - এই আপনি একটি তুলনা সঞ্চালন করতে চলেছে মানে
  • 1 - আপনি তুলনা করতে যাচ্ছেন প্রথম উপাদান
  • -eq - আপনি তুলনা করা হয় কিভাবে। এই ক্ষেত্রে, আপনি একটি সংখ্যা অন্য সমান কিনা তা পরীক্ষা করা হয়।
  • 2 - উপাদান আপনি বিরুদ্ধে প্রথম উপাদান তুলনা করা হয়
  • && - ফলাফলটি সত্য হলে নিম্নলিখিত বিবৃতিটি চালান
  • ইকো "হ্যাঁ" - তুলনা করা হলে তুলনা কমান্ডটি সত্য হয়ে যায়
  • || ফলাফলটি মিথ্যা হলে নিম্নলিখিত বিবৃতিটি চালান
  • echo "no" - তুলনা করলে ফিরতি কমান্ডটি মিথ্যা বলে

সংক্ষেপে, কমান্ডটি 1 থেকে ২ এর তুলনা করে এবং যদি এটি মিলছে তবে ইকো "হ্যাঁ" বিবৃতিটি কার্যকর করা হয় যা "হ্যাঁ" প্রদর্শন করে এবং যদি এটি মিল না হয় তবে ইকো "না" বিবৃতি কার্যকর হয় যা "না।" প্রদর্শন করে।

সংখ্যা তুলনা

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

  • -eq - মান 1 সমান মান 2 করে
  • -ge - মান 1 এর সমতুল্য বা সমান ২
  • -gt - মান 2 এর চেয়ে বড় 1
  • -ল - মান 1 এর চেয়ে কম বা সমান 1
  • -lt - মান 2 এর চেয়ে কম মূল্য 1
  • -একটি - মান 1 সমান মান 2 না

উদাহরণ

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

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

পরীক্ষা 1-জি 2 & ইকো "হ্যাঁ" || ইকো "না"

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

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

(পর্দায় "না" প্রদর্শন করে কারণ 1 টি 2 এর চেয়ে বড় নয়)

পরীক্ষা 1-এল 2 & ইকো "হ্যাঁ" || ইকো "না"

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

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

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

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

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

টেক্সট তুলনা

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

  • = - স্ট্রিং 1 মেলে স্ট্রিং 2
  • ! = - স্ট্রিং 1 স্ট্রিং 2 ভিন্ন
  • -n - স্ট্রিং দৈর্ঘ্য 0 এর চেয়ে বড়
  • -Z - স্ট্রিং দৈর্ঘ্য 0

উদাহরণ

পরীক্ষা "স্ট্রিং 1" = "স্ট্রিং 2" & ইকো "হ্যাঁ" || ইকো "না"

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

পরীক্ষা "স্ট্রিং 1"! = "স্ট্রিং 2" & ইকো "হ্যাঁ" || ইকো "না"

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

test-n "string1" & echo "yes" || ইকো "না"

(পর্দায় "হ্যাঁ" প্রদর্শন করে কারণ "স্ট্রিং 1" শূন্যের চেয়েও একটি স্ট্রিং দৈর্ঘ্য বেশি)

test -z "string1" এবং & echo "yes" || ইকো "না"

(স্ক্রিনে "না" প্রদর্শন করে কারণ "স্ট্রিং 1" শূন্যের চেয়ে বেশি একটি স্ট্রিং লম্বা)

ফাইল তুলনা

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

  • -ef - ফাইলগুলির একই ডিভাইস এবং ইনডোড সংখ্যা আছে (তারা একই ফাইল)
  • -nt - দ্বিতীয় ফাইলের চেয়ে নতুন ফাইলটি নতুন
  • -ot - দ্বিতীয় ফাইলের চেয়ে পুরোনো ফাইলটি পুরোনো
  • -b - ফাইল বিদ্যমান এবং ব্লক বিশেষ
  • -সি - ফাইল বিদ্যমান এবং চরিত্র বিশেষ
  • -d - ফাইল বিদ্যমান এবং একটি ডিরেক্টরি
  • -ই - ফাইল বিদ্যমান
  • -এফ - ফাইল বিদ্যমান এবং একটি নিয়মিত ফাইল
  • -g - ফাইল বিদ্যমান এবং নির্দিষ্ট গ্রুপ নম্বর আছে
  • -জি - ফাইলটি বিদ্যমান এবং ব্যবহারকারীর গোষ্ঠী দ্বারা মালিক
  • -হ - ফাইল বিদ্যমান এবং একটি প্রতীকী লিঙ্ক
  • -k - ফাইল বিদ্যমান এবং তার স্টিকি বিট সেট আছে
  • -এল - হিসাবে একই
  • -O - ​​ফাইল বিদ্যমান আপনি মালিক
  • -পি - ফাইল বিদ্যমান এবং একটি নামযুক্ত পাইপ
  • -আর - ফাইল বিদ্যমান এবং পঠনযোগ্য
  • -s - ফাইলটি বিদ্যমান এবং শূন্যের চেয়ে বড় আকার আছে
  • -এস - ফাইল বিদ্যমান এবং একটি সকেট
  • -t - ফাইলের বর্ণনাকারীটি টার্মিনালে খোলা আছে
  • -u - ফাইল বিদ্যমান এবং সেট-ইউজার আইডি বিট সেট করা হয়
  • -w - ফাইল বিদ্যমান এবং লেখার যোগ্য
  • -x - ফাইল বিদ্যমান এবং এক্সিকিউটেবল হয়

উদাহরণ

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

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

test -e / path / to / file1 & echo "হ্যাঁ"

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

পরীক্ষা-ও / পথ / থেকে / ফাইল 1 & ইকো "হ্যাঁ"

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

পরিভাষা

  • বিশেষ অবরোধ করুন - ফাইলটি একটি ব্লক ডিভাইস যা মানে বাইটের ব্লকগুলিতে তথ্য পড়তে পারে। এই সাধারণত হার্ড ড্রাইভের মত ডিভাইস ফাইল।
  • ক্যারেক্টার বিশেষ - যখন আপনি এটিতে লিখবেন তখন ফাইলটি অবিলম্বে কার্যকর হবে এবং সাধারণত সিরিয়াল পোর্টের মতো একটি ডিভাইস

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

এ পর্যন্ত, সবকিছু অন্যের বিরুদ্ধে এক জিনিস তুলনা করা হয়েছে, কিন্তু যদি আপনি দুটি শর্ত তুলনা করতে চান তবে কী হবে?

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

উভয় শর্ত পরীক্ষা করার জন্য নিচের বিবৃতিটি ব্যবহার করুন:

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

এখানে মূল অংশ হল- A যা দাঁড়িয়েছে এবং .

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

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

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

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

এখানে মূল অংশ হল -o যা দাঁড়িয়েছে অথবা .

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

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

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

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

-ই ফাইল 1.txt & & echo "file1 বিদ্যমান" || echo "file1 অস্তিত্ব নেই"

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

এখন আপনি এটি জানেন যে আপনি একাধিক অবস্থার তুলনায় নিম্নরূপ উন্নতি করতে পারেন:

4-ইক 4 && "moo" = "moo" & echo "এটি একটি গরু" || ইকো "এটি একটি গরু নয়"-ই ফাইল 1.txt || -ই ফাইল 1.doc & & echo "file1 বিদ্যমান" || echo "file1 অস্তিত্ব নেই"

সারাংশ

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