एक शेल विकल्प है cdable_vars
:
cdable_vars
यदि इसे सेट किया जाता है, तो cd
अंतर्निहित कमांड के लिए एक तर्क जो कि निर्देशिका नहीं है, को एक चर का नाम माना जाता है जिसका मान बदलने के लिए निर्देशिका है।
आप इसे अपने लिए जोड़ सकते हैं .bashrc
:
shopt -s cdable_vars
export myFold=$HOME/Files/Scripts/Main
ध्यान दें कि मैंने टिल्ड को बदल दिया है $HOME
; उद्धरण टिल्ड के विस्तार को रोकते हैं और बैश शिकायत करते हैं कि कोई निर्देशिका नहीं है ~/Files/Scripts/Main
।
अब आप इसका उपयोग इस प्रकार कर सकते हैं:
cd myFold
कोई $
आवश्यकता नहीं है। वह पूरा बिंदु है, वास्तव में - जैसा कि अन्य उत्तरों में दिखाया गया है, cd "$myFold"
शेल विकल्प के बिना काम करता है। cd myFold
यह भी काम करता है यदि पथ में myFold
रिक्त स्थान है, तो आवश्यक कोई उद्धरण नहीं है।
यह आम तौर पर टैब ऑटोकोम्प्लीमेंट के साथ भी काम करता है क्योंकि यदि सेट किया गया है, तो चेक _cd
में फ़ंक्शन bash_completion
होता cdable_vars
है - लेकिन हर कार्यान्वयन एक ही तरीके से नहीं होता है, इसलिए आपको bash_completion
फिर से अपने स्रोत में .bashrc
(या /etc/profile
शेल विकल्प को सेट करने के लिए संपादन) करना पड़ सकता है ।
अन्य गोले के समान विकल्प हैं, उदाहरण के लिए ज़श ( cdablevars
)।