क्या `cd` के लिए कमांड को पूरा करने के लिए केवल निर्देशिका दिखाने और फ़ाइलों को अनदेखा करने के लिए संशोधित किया जा सकता है?


12

जब मैं बैश में एक निर्देशिका में हूं, और मैं दबाता हूं cd Space Tab, यह एक संभावना के रूप में निर्देशिका में सब कुछ दिखाता है। ( Show all 1000 possibilities?) यह वास्तव में बोझिल है जब मैं एक निर्देशिका में नियमित फ़ाइलों और अपेक्षाकृत कुछ निर्देशिकाओं के साथ हूं।

तो, क्या यह संभव है कि cdकेवल निर्देशिका शामिल करने के लिए स्वत: पूर्णता के लिए विकल्प बनाएं ?

मुझे पता है कि मैं एक निर्देशिका के भीतर एक निर्देशिका लिस्टिंग प्राप्त कर सकते हैं

ls -d */

लेकिन मुझे यकीन नहीं है कि वहां से कैसे आगे बढ़ना है।

मैं CentOS 6.6 फाइनल का उपयोग कर रहा हूं ।

जवाबों:


25

बस जोड़ दो

complete -d cd

आपके ~/.bashrc(या अन्य बैश कॉन्फ़िगरेशन फ़ाइल में)।


यह काम करता हैं! धन्यवाद। मुझे bashअपनी ~/.bashrcफाइल को फिर से लोड करने के बाद टाइप करना था
chiliNUT

यह तो दिलचस्प है। यह मेरे डेबियन इंस्टॉल पर डिफ़ॉल्ट व्यवहार है, लेकिन टाइपिंग completeऐसा नहीं दिखाती है -d cdया ऐसा कुछ भी नहीं है। जाहिरा तौर पर यह किसी और तरीके से यहां किया गया है।
टॉम ज़िक

@TomZych लोकप्रिय बैश पूर्ण स्क्रिप्ट है, यह बहुत संभावना है कि आपके डिस्ट्रो ने इसे डिफ़ॉल्ट रूप से स्थापित किया है।
जिमीज

2
~/.bashrcप्रकार फिर से पढ़ने के लिए . ~/.bashrc। यह उप-शेल शुरू नहीं हो सकता है।
ctrl-alt-delor

1
@richard One मौजूदा कमांड शेल में इस कमांड को सिर्फ री-टाइप / पेस्ट कर सकता है।
जिमीज

2

यह कई distros पर एक विशिष्ट स्थापित पर स्वचालित रूप से हो रहा होना चाहिए
यदि यह नहीं है, तो आप शायद bash-completionपैकेज को याद कर रहे हैं :

  • उबंटू: sudo apt-get install bash-completion
  • आर्क: sudo pacman -S bash-completion
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.