স্ক্রিপ্টের মধ্যে থেকে একটি ব্যাশ স্ক্রিপ্ট যেখানে অবস্থিত সেখানে ডিরেক্টরিটি কীভাবে সন্ধান করবেন

Skriptera Madhye Theke Ekati Byasa Skripta Yekhane Abasthita Sekhane Direktariti Kibhabe Sandhana Karabena



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

স্ক্রিপ্টের মধ্যে থেকে একটি ব্যাশ স্ক্রিপ্ট যেখানে অবস্থিত সেখানে ডিরেক্টরিটি কীভাবে সন্ধান করবেন

ব্যাশ স্ক্রিপ্টিংয়ের সময় বিভিন্ন কাজ স্বয়ংক্রিয় করার জন্য আপনাকে স্ক্রিপ্টের অবস্থানের প্রয়োজন হতে পারে। লিনাক্সে দুই ধরনের পাথ রয়েছে:

  • আত্মীয়ের পথ: রিলেটিভ হল বর্তমান কাজের ডিরেক্টরি।
  • পরম পথ: এটি ডিরেক্টরি এবং ফাইলগুলির সম্পূর্ণ পথ।

ব্যাশ স্ক্রিপ্টের অবস্থান নির্ধারণের সবচেয়ে সাধারণ উপায়গুলির মধ্যে একটি হল ব্যবহার করা pwd আদেশ দ্য pwd আদেশ ( প্রিন্ট ওয়ার্কিং ডিরেক্টরি) বর্তমান ডিরেক্টরি দেখাবে।







সুতরাং, অনেক পরিস্থিতিতে সহজভাবে ব্যবহার pwd কমান্ড কাজ করে না কারণ এটি শুধুমাত্র বর্তমানে কাজ করা ডিরেক্টরির পাথ দেয়।



উদাহরণস্বরূপ, যদি স্ক্রিপ্টটি থাকে ডাউনলোড ডিরেক্টরি এবং থেকে কার্যকর করা হচ্ছে ডেস্কটপ তারপর আউটপুট ধারণ করবে /home/usr/ডেস্কটপ ব্যাশ স্ক্রিপ্ট ফাইলের অবস্থান নয় যেটি /home/usr/ডাউনলোড .



এই টিউটোরিয়ালটি স্ক্রিপ্টের মধ্যে থেকে ব্যাশ স্ক্রিপ্ট ফাইলটি যে ডিরেক্টরিতে অবস্থিত তার পাথ পাওয়ার বিষয়ে।





ব্যাশ স্ক্রিপ্ট ফাইলটি কোথায় অবস্থিত সেখানে ডিরেক্টরির পথ কীভাবে পাবেন

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

ব্যবহার করা dirname একটি স্ক্রিপ্টের ডিরেক্টরি নির্ধারণের জন্য কমান্ড, আপনি স্ক্রিপ্টের শেষ নন-স্ল্যাশ উপাদানগুলিকে আর্গুমেন্ট হিসাবে পাথ সহ কমান্ডটিকে কল করবেন।



সম্পর্কে আরো বিস্তারিত জানার জন্য dirname টার্মিনালে নিম্নলিখিত কমান্ডগুলি চালান:

$ মানুষ dirname

কেবল dirname কাজ করবে না, আমাদের আরেকটি কমান্ড দরকার যেটি রিডলিংক . দ্য রিডলিংক কমান্ড প্রিন্ট প্রতীকী লিঙ্ক সমাধান করেছে। চালানোর মাধ্যমে এই কমান্ড সম্পর্কে আরও তথ্য পান:

$ মানুষ রিডলিংক

এখন, একটি স্ক্রিপ্ট তৈরি করুন :

$ sudo ন্যানো myScript.sh

এবং টাইপ করুন:

#!/bin/bash

প্রতিধ্বনি 'ব্যাশ স্ক্রিপ্ট পাথ হল $(dirname -- '$(readlink -f – '$0') ' ; ) ';

স্ক্রিপ্ট চালানোর জন্য ব্যবহার করুন:

$ বাশ myScript.sh

চলুন ডিরেক্টরি পরিবর্তন করুন এবং আউটপুট কি দেখুন:

বিঃদ্রঃ: একটি ক্ষেত্রে উপরের স্ক্রিপ্টটি কাজ করবে না যদি ফাইলটি কার্যকর করার পরিবর্তে উত্স করা হয় কারণ এটি নিম্নলিখিত আউটপুটে দেখা যায়:

আউটপুট হয় /home/sam/ডেস্কটপ যেখানে স্ক্রিপ্ট ফাইলটি উপস্থিত রয়েছে /হোম/স্যাম ডিরেক্টরি

উপসংহার

উপসংহারে, স্ক্রিপ্টের মধ্যে থেকেই ব্যাশ স্ক্রিপ্টের ডিরেক্টরি নির্ধারণ করার একাধিক উপায় রয়েছে। দ্য dirname সাথে রিডলিংক ইউটিলিটি একটি স্ক্রিপ্টের ডিরেক্টরি নির্ধারণ করতে ব্যবহার করা যেতে পারে। যাইহোক, সহজভাবে ব্যবহার pwd কমান্ড কাজ করে না কারণ এটি শুধুমাত্র বর্তমানে কাজ করা ডিরেক্টরি দেয়।