ব্যাশে একটি ফাইল বিদ্যমান কিনা তা কীভাবে পরীক্ষা করবেন

How Check If File Exists Bash



লিনাক্সে একটি ফাইলের প্রাপ্যতা যাচাই করার বিভিন্ন উপায় রয়েছে। ব্যাশ স্ক্রিপ্টিং -এ টেস্ট কমান্ড হল একটি ফাইলের অস্তিত্ব পরীক্ষা করার অন্যতম প্রধান পন্থা।
এই গাইডের ফোকাস হল ব্যাশ স্ক্রিপ্টিং এর মাধ্যমে আপনার সিস্টেমে একটি ফাইলের অস্তিত্ব নিয়ে আলোচনা করা:

ব্যাশ স্ক্রিপ্টিং ব্যবহার করে কীভাবে ফাইলের অস্তিত্ব পরীক্ষা করবেন:

1) টার্মিনালে ফাইলের নাম লিখে:







প্রথমত, আমাদের একটি ব্যাশ স্ক্রিপ্ট ফাইল তৈরি করতে হবে, নীচে উল্লিখিত কমান্ডটি ব্যবহার করুন:



$স্পর্শtestfile.sh

আমার তৈরি করা ফাইলের নাম testfile.sh, .sh এক্সটেনশন শেল স্ক্রিপ্ট ফাইল নির্দেশ করে:







যেকোনো টেক্সট এডিটরে testfile.sh খুলুন। তারপর স্ক্রিপ্ট লিখুন, সেভ চেপে সেভ করুন।

একটি উপায় হল টার্মিনালে ব্যবহারকারীর কাছে ফাইলের নাম জিজ্ঞাসা করে একটি ফাইল খুঁজে বের করা।



ব্যবহার করুন -ফ ফাইলের অস্তিত্ব পরীক্ষা করতে।

নীচের স্ক্রিপ্টটি লিখুন:

#!/বিন/ব্যাশ
বের করে দিল 'আপনার ফাইলের নাম লিখুন'
পড়ুনnewfile1
যদি [ -ফ '$ newfile1' ]
তারপর
বের করে দিল 'ফাইল পাওয়া গেছে'
অন্য
বের করে দিল 'ফাইল পাওয়া যায়নি'
থাকা

টার্মিনালে ফিরে যান এবং আউটপুট প্রিন্ট করতে ফাইলটি চালান:

/filename.sh

অনুমতি প্রত্যাখ্যান বার্তা টার্মিনালে প্রদর্শিত হবে।

নিচের উল্লিখিত কমান্ডটি সম্পাদন করে এটিকে এক্সিকিউটেবল করুন:

$chmod+ x testfile.sh

ফাইলের নাম লিখুন, এবং এটি আউটপুট মুদ্রণ করবে:

2) স্ক্রিপ্ট লেখার সময় ফাইলের নাম লিখে:
স্ক্রিপ্ট লেখার সময় ফাইলের নাম দিয়ে একটি ফাইল খুঁজে বের করার আরেকটি উপায়। ফাইলের প্রাপ্যতা যাচাই করার জন্য আমাদের তিনটি উপায় আছে। প্রথমটি পরীক্ষা কমান্ড ব্যবহার করছে, দ্বিতীয়টি ব্যবহার করছে যদি বর্গ বন্ধনীতে একটি অভিব্যক্তি সহ, এবং তৃতীয়টি যদি নিচের নির্দেশিত হিসাবে দ্বিগুণ বর্গাকার বন্ধনীগুলির সাথে হয়:

  1. এক্সপ্রেশন পরীক্ষা করুন।
  2. যদি [এক্সপ্রেশন]
  3. যদি [[এক্সপ্রেশন]]

আসুন এটি উদাহরণ সহ বুঝতে পারি:

1) পরীক্ষা [অভিব্যক্তি]
প্রদত্ত স্ক্রিপ্টটি অনুলিপি করুন এবং সম্পাদকের মধ্যে আটকান, এটি সংরক্ষণ করুন:

#!/বিন/ব্যাশ
ফাইলের নাম= ফাইল 1
যদি পরীক্ষা -ফ '$ filename';
তারপর
বের করে দিল '$ ফাইলপাওয়া গেছে.'
অন্য
বের করে দিল '$ ফাইলপাওয়া যায়নি '
থাকা

আউটপুট:

যেহেতু আমার ডিরেক্টরিতে এমন কোন ফাইল নেই, তাই কোডটি ফাইলটি খুঁজে পাওয়া যায় না বার্তা প্রদর্শন করে।

2) যদি [এক্সপ্রেশন]

ফাইলটি আছে কিনা তা পরীক্ষা করতে নিম্নলিখিত স্ক্রিপ্টটি অনুলিপি করুন:

#!/বিন/ব্যাশ
ফাইলের নাম= myfile.txt
যদি [ -ফ '$ filename' ];
তারপর
বের করে দিল '$ filenameপাওয়া গেছে.'
অন্য
বের করে দিল 'ফাইলের নাম পাওয়া যায়নি'
থাকা

আউটপুট:

3) যদি [[অভিব্যক্তি]]

নীচের লিখিত স্ক্রিপ্টটি অনুলিপি করুন এবং টার্মিনালে পেস্ট করুন:

#!/বিন/ব্যাশ
ফাইলের নাম= টেস্ট ফাইল
যদি [[ -ফ '$ filename' ]];
তারপর
বের করে দিল '$ filenameপাওয়া গেছে.'
অন্য
বের করে দিল '$ filenameপাওয়া যায়নি '
থাকা

আউটপুট:

ডিরেক্টরি চেক করতে:

3) স্ক্রিপ্ট লেখার সময় ডিরেক্টরির নাম লিখে

ব্যবহার -ডি একটি ডিরেক্টরি অস্তিত্ব চেক করতে পতাকা।

নীচে উল্লিখিত স্ক্রিপ্টে, dir11 হল সেই ভেরিয়েবল যেখানে আপনি যে ফাইলটি খুঁজে পাচ্ছেন তা সংরক্ষণ করুন; এই উদাহরণে, আমি ডিরেক্টরি নাম পরীক্ষা করতে চাই testDir বিদ্যমান বা না।

#!/বিন/ব্যাশ
dir11= টেস্টডির
যদি [ -ডি '$ dir11' ]
তারপর
বের করে দিল 'ডিরেক্টরি পাওয়া গেছে'
অন্য
বের করে দিল 'ডিরেক্টরি পাওয়া যায়নি'
থাকা

আউটপুট:

2) টার্মিনালে ফাইলের নাম লিখে:
যখন আপনি টার্মিনালে কমান্ডটি চালান যখন ডিরেক্টরিটি বিদ্যমান কিনা তা পরীক্ষা করার জন্য, আপনাকে যে ডিরেক্টরিটির নাম খুঁজছেন তা প্রবেশ করতে হবে:

#!/বিন/ব্যাশ
বের করে দিল 'আপনার ডিরেক্টরি নাম লিখুন।'
পড়ুনDir1
যদি [ -ডি 'Dir1' ]
তারপর
বের করে দিল 'ডিরেক্টরি পাওয়া গেছে'
অন্য
বের করে দিল 'ডিরেক্টরি পাওয়া যায় নি'
থাকা

আউটপুট:

If স্টেটমেন্ট ব্যবহার না করে ফাইল চেক করা:

If স্টেটমেন্ট ছাড়াই টেস্ট কমান্ড কার্যকর করা যায়। ফাইলটি বিদ্যমান থাকলে এটি কেবল আউটপুট প্রদর্শন করবে; অন্যথায়, কোন আউটপুট হবে না:

স্ক্রিপ্ট লিখুন:

  1. পরীক্ষা -ফmyfile.txt&& বের করে দিল 'ফাইল পাওয়া গেছে'

  2. [ -ফmyfile.txt] && বের করে দিল '$ ফাইলপাওয়া গেছে। '

  3. [[ -ফmyfile.txt]] && বের করে দিল '$ ফাইলপাওয়া গেছে। '

আউটপুট:

If স্টেটমেন্ট ব্যবহার না করে ডিরেক্টরি চেক করা:

কোন ডিরেক্টরি আছে কি নেই তা যাচাই করতে নিচের উল্লিখিত বিবৃতিগুলি ব্যবহার করুন:

  1. [[ -ডিপরীক্ষা]] && বের করে দিল 'ডিরেক্টরি আছে'

  2. 2) [ -ডিপরীক্ষা] && বের করে দিল 'ডিরেক্টরি আছে'

আউটপুট:

একাধিক ফাইল/ডিরেক্টরি চেক করা হচ্ছে:

1) যদি বিবৃতি দিয়ে একাধিক ফাইল পরীক্ষা করা হয়:
নেস্টেড ব্যবহার করার পরিবর্তে বিভিন্ন ফাইলের অস্তিত্ব পরীক্ষা করতে -a পতাকা ব্যবহার করুন

#!/বিন/ব্যাশ
যদি [ -ফnew_file.txt-প্রতি -ফnewfile.txt];তারপর
বের করে দিল 'উভয় ফাইল বিদ্যমান।'
থাকা

আরেকটি উপায় হল:

#!/বিন/ব্যাশ
যদি [[ -ফnew_file.txt&& -ফnewfile.txt]];তারপর
বের করে দিল 'উভয় ফাইল বিদ্যমান।'
থাকা

আউটপুট:

2) if স্টেটমেন্ট ব্যবহার না করে একাধিক ফাইল চেক করা:
যদি ব্যবহার না করে একসাথে একাধিক ফাইল চেক করতে নিম্নলিখিত বিবৃতিটি ব্যবহার করুন:

  1. [[ -ফnew_file.txt&& -ফnewfile.txt]] && বের করে দিলউভয় ফাইল প্রস্থান করে।

  2. [[ -ফnew_file.txt&& -ফnewfile.txt]] && বের করে দিলউভয় ফাইল প্রস্থান করে।

আউটপুট:

উপসংহার:

এই নিবন্ধে দেখানো হয়েছে কিভাবে একটি ফাইল বা একটি ডিরেক্টরি চেক করার জন্য ব্যাশ স্ক্রিপ্টিং ব্যবহার করতে হয়। আমরা একটি ফাইলের প্রাপ্যতা যাচাই করার জন্য বিভিন্ন বিকল্প ব্যবহার করেছি। প্রথমত, আমরা বিভিন্ন পতাকা দিয়ে টেস্ট কমান্ড ব্যবহার করি। তারপরে আমরা if, else, এবং if স্টেটমেন্ট ছাড়া ফাইল বা ডিরেক্টরি চেক করার জন্য if এর ব্যবহার শিখেছি। আমরা কিভাবে একাধিক ফাইল বা ডিরেক্টরি চেক করতে চেয়েছিলাম।