অন্যরা যেমন ব্যাখ্যা করেছে, ডিরেক্টরিটি আপনার স্ক্রিপ্টের চাইল্ড প্রসেসে পরিবর্তিত হয়, টার্মিনাল প্রক্রিয়া থেকে নয় যেখানে স্ক্রিপ্ট বলা হয়। শিশু প্রক্রিয়াটি মারা যাওয়ার পরে, আপনি টার্মিনালে ফিরে এসেছিলেন যেখানে এটি যেখানে ছিল সেখানেই রেখে দেওয়া হয়।
বেশ কয়েকটি বিকল্প:
1. প্রতীকী লিঙ্ক
আপনি সহজে অ্যাক্সেস করতে চান দীর্ঘ পথে আপনার বাড়িতে একটি সিমিলিংক রাখুন
$ ln -s /home/alex/Documents/A/B/C ~/pathABC
তারপরে ডিরেক্টরিটি অ্যাক্সেস করুন:
$ cd ~/pathABC
2. উপন্যাস
আপনার ~ / .bashrc এ একটি নাম রাখুন:
alias pathABC="cd /home/alex/Documents/A/B/C"
(থেকে এখানে )
3. ফাংশন
ডিরেক্টরি পরিবর্তন করে এমন একটি ফাংশন তৈরি করুন, ফাংশনটি আপনার টার্মিনালের প্রক্রিয়ায় চলে এবং এরপরে এটি ডিরেক্টরি পরিবর্তন করতে পারে।
(থেকে এখানে )
৪. শিশু হিসাবে দৌড়ানো থেকে বিরত থাকুন
আপনার স্ক্রিপ্টটি চালানোর পরিবর্তে উত্স করুন। সোর্সিং (এর দ্বারা সম্পন্ন .বা source) এর ফলে স্ক্রিপ্টটি তার নিজের সাবশেলে না চলার পরিবর্তে একই শেলের মধ্যে সম্পাদিত হয়।
$ . ./pathABC
(থেকে এখানে এবং এখানে )
5. সিডি-সক্ষম বারসমূহ
cdable_varsআপনার মধ্যে বিকল্পটি সেট করুন ~/.bashrcএবং ডিরেক্টরিতে একটি পরিবেশের পরিবর্তনশীল তৈরি করুন:
shopt -s cdable_vars
export pathABC="/home/alex/Documents/A/B/C"
তারপরে আপনি ব্যবহার করতে পারেন cd pathABC
(থেকে এখানে )