অন্যান্য উত্তরে বর্ণিত হিসাবে, আপনি ডিরেক্টরিটি পরিবর্তন করেছেন, তবে কেবলমাত্র সাব-শেলের মধ্যে যা স্ক্রিপ্টটি চালায় । এটি প্যারেন্ট শেলকে প্রভাবিত করে না।
একটি সমাধান হ'ল বাশ স্ক্রিপ্ট ( ) এর পরিবর্তে ব্যাশ ফাংশন ব্যবহার করা sh
; কোনও ফাংশনে আপনার বাশ স্ক্রিপ্ট কোড স্থাপন করে। এটি কমান্ড হিসাবে ফাংশনটি উপলভ্য করে এবং তারপরে, এটি একটি শিশু প্রক্রিয়া ছাড়াই কার্যকর করা হবে এবং এইভাবে কোনও cd
কমান্ড কলার শেলকে প্রভাবিত করবে।
বাশ ফাংশন:
ব্যাশ প্রোফাইলের একটি বৈশিষ্ট্য হ'ল কাস্টম ফাংশনগুলি সংরক্ষণ করা যা টার্মিনালে বা ব্যাশ স্ক্রিপ্টগুলিতে চালানো যেতে পারে আপনি যেভাবে অ্যাপ্লিকেশন / কমান্ডগুলি চালান এটি দীর্ঘ কমান্ডের শর্টকাট হিসাবেও ব্যবহৃত হতে পারে।
আপনার কার্যকারিতাটি কার্যকরভাবে কার্যকর করার জন্য আপনাকে বেশ কয়েকটি ফাইলের শেষে আপনার ফাংশনটি অনুলিপি করতে হবে
/home/user/.bashrc
/home/user/.bash_profile
/root/.bashrc
/root/.bash_profile
আপনি sudo kwrite /home/user/.bashrc /home/user/.bash_profile /root/.bashrc /root/.bash_profile
সেই ফাইলগুলি দ্রুত সম্পাদনা / তৈরি করতে পারবেন
কিভাবে :
আপনার বাশের প্রোফাইল ফাইলের শেষে আপনার বাশ স্ক্রিপ্ট কোডটি একটি নতুন ফাংশনের অভ্যন্তরে অনুলিপি করুন এবং আপনার টার্মিনালটি পুনরায় চালু করুন, তারপরে আপনি চালাতে পারেন cdd
বা যে ফাংশনটি আপনি লিখেছেন তা করতে পারেন ।
স্ক্রিপ্ট উদাহরণ
এর cd ..
সাথে শর্টকাট তৈরি করাcdd
cdd() {
cd ..
}
শর্টকাট
ll() {
ls -l -h
}
শর্টকাট
lll() {
ls -l -h -a
}