जवाबों:
आप Tabपहले कुछ वर्णों को दबाने के बाद कुंजी का उपयोग कर सकते हैं (यह तब आपके लिए "शेष" फ़ोल्डर को cd ~/L
Tabभर देगा। उदाहरण के लिए , cd ~/Library/
फिर टाइप में भरता है Ap
Tabऔर यह आपके लिए बाकी हिस्सों में भर जाएगा।
यदि शब्दों के बीच एक स्थान है और आप ऊपर दिए गए तरीकों का उपयोग नहीं करना चाहते हैं, \
तो अंतरिक्ष से पहले (बैकस्लैश) डालें, जैसे cd ~/Library/Application\ Support
।
shopt -s nocaseglob
और bind 'set completion-ignore-case on'
बनाने के लिए बैश कम मामले के प्रति संवेदनशील।
यहां मुख्य मुद्दा यह है कि शेल ( बैश ) कैसे उद्धृत करता है और यह कैसे टिल्ड विस्तार और "शब्दों" में विभाजन को प्रभावित करता है (कार्यक्रम चलाए जाने के लिए तर्क)।
बैश केवल प्रमुख टिल्ड को विशेष रूप से व्यवहार करता है यदि इसे उद्धृत नहीं किया जाता है। इसके अलावा, निम्नलिखित स्लैश को भी उद्धृत नहीं किया जाना चाहिए।
इसी समय, बैश गैर-उद्धृत व्हाट्सएप के आधार पर "शब्द" में कमांड लाइन बनाते हैं। cd
आदेश आम तौर पर ठीक एक तर्क (गंतव्य निर्देशिका) की आवश्यकता है। एक कमांड लाइन जैसे दो तर्कों के साथ cd foo bar
चलने का मतलब है cd
: foo
और bar
। यदि आप केवल एक foo bar
तर्क भेजना चाहते थे , तो आपको स्थान उद्धृत करने की आवश्यकता है:
(उदाहरण के लिए) cd foo\ bar
(नीचे दिए गए अधिक उद्धरण उदाहरण देखें)।
आपकी विशेष स्थिति में, आपको निर्देशिका नाम में स्थान का हवाला देते हुए टिल्डे और निम्नलिखित स्लैश को छोड़ने की आवश्यकता है। आपका cd "~/Library/Application Support/"
परीक्षण बहुत अधिक (टिल्ड और उसके स्लैश) उद्धृत करते हुए समाप्त होता है, जबकि आपका cd ~/Library/Application Support/
परीक्षण बहुत कम उद्धृत करता है (यह निर्देशिका नाम में स्थान को उद्धृत करता है)।
सबसे आम समाधान केवल स्थान को उद्धृत करने के लिए भागने वाले एकल-चरित्र का उपयोग करना है:
cd ~/Library/Application\ Support
आप या तो केवल स्पेस या स्पेस या उस तर्क के कुछ अन्य बिट्स के आसपास सिंगल या डबल कोट्स का उपयोग कर सकते हैं (लेकिन नहीं ~/
!):
cd ~/Library/Application' 'Support
cd ~/Library/Application" "Support
cd ~/Library/App'lication 'Support
cd ~/Library/Application" Supp"ort
cd ~/'Library/Application 'Support
cd ~/"Library/Application "Support
इस प्रकार के उद्धरणों के अलग-अलग अर्थ हैं, लेकिन वे इन उदाहरणों में समान हैं। सिंगल कोट्स शाब्दिक तार की रक्षा करते हैं जबकि दोहरे उद्धरण उद्धृत क्षेत्र में विभिन्न विस्तार और प्रतिस्थापन की अनुमति देते हैं।
अक्सर, आप केवल शेल को आपके लिए काम करने दे सकते हैं।
ग्लोबिंग (वाइल्डकार्ड):
cd ~/L*/Ap*
आप shopt -s nocaseglob
ग्लोबिंग केस को असंवेदनशील बनाने के लिए उपयोग कर सकते हैं :
cd ~/l*/ap*
समापन:
Tabप्रवेश करने के बाद दबाने cd ~/L
से संभवतः इसका विस्तार होगा cd ~/Library/
। प्रवेश करने के बाद फिर से
दबाव डालना (आपके पास अब ) संभवतः इसका विस्तार करेगा (शेल ने स्वचालित रूप से भागने के पीछे डाला)।TabAp
cd ~/Library/Ap
cd ~/Library/Application\ Support/
आप bind 'set completion-ignore-case on'
पूरा मामला असंवेदनशील बनाने के लिए उपयोग कर सकते हैं :
cd ~/l
Tab→ cd ~/Library/
; ap
Tab→cd ~/Library/Application\ Support/
जब आप एक पथ को दोहराते हैं, तो आप टिल्ड विस्तार को रोक रहे हैं। तो ऐसा करने के कुछ तरीके हैं:
cd ~/"My Code"
cd ~/'My Code'
यहां टिल्ड को उद्धृत नहीं किया गया है, इसलिए टिल्ड विस्तार अभी भी चलाया जाएगा।
cd "$HOME/My Code"
आप दोहरे चर के अंदर पर्यावरण चर का विस्तार कर सकते हैं; यह मूल रूप से टिल्ड का विस्तार है
cd ~/My\ Code
आप बैकस्लैश के साथ विशेष वर्ण (जैसे स्थान) से भी बच सकते हैं।
यदि आप फ़ाइल या फ़ोल्डर के नाम में 1) फ़ाइल का नाम है, तो आप फ़ोल्डर / फ़ाइलों के लिए यह कोशिश कर सकते हैं। कमांड का नाम cd ~ / file \ name.extension / (या) cd ~ / "फ़ाइल name.extension" / होना चाहिए।