और यह भी कैसे स्वत: पूर्ण उपनाम करता है?
और यह भी कैसे स्वत: पूर्ण उपनाम करता है?
जवाबों:
आदेश पर निर्भर करता है:
/etc/bash_completion.d/*
(या कुछ सिस्टम पर एक अलग स्थान) के लिए फ़ंक्शंस मिलेंगे । ये फ़ंक्शन बिल्ट-इन (जैसे कि कमांड पर प्रेस करने पर फंक्शन को कॉल करने के लिए बैश बताता है) के साथ पंजीकृत हैं । वे बाश को बताने के लिए "यहां संभावित पूर्णताएं हैं" का उपयोग करते हैं।complete
complete -F _find find
_find
Tabfind
compgen
--help
और आउटपुट को पार्स करेगा। इस तरह के कमांड complete
बिल्ट-इन के साथ पंजीकृत किए जा सकते हैं , जैसे complete -F _longopt ls
। _longopt
वास्तव में एक पूर्ण पीढ़ी का कार्य है, जो एक निश्चित सूची का उपयोग करने के बजाय एक कमांड के आउटपुट को पार्स करने के लिए होता है। (संभावित पूर्णताएं उत्पन्न करने के लिए कमांड के आउटपुट को पार्स करने के लिए अन्य विशेषीकृत पूर्ण कार्य हैं; /etc/bash_completion.d/*
उदाहरणों के लिए देखें।)complete
अंतर्निहित विकल्प हैं, उदाहरण के -A
लिए उपनाम।बैश समापन के लिए समर्थन डेबियन और उबंटू में बैश समापन पैकेज द्वारा प्रदान किया गया है । आपको आमतौर पर निम्नलिखित /etc/bash.bashrc
और / या .bashrc
बैश समाप्ति फ़ाइलों को स्रोत करने की आवश्यकता होती है। निम्नलिखित में से है /etc/bash.bashrc
:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
इसके लिए काम करना है। मैं आमतौर पर इसे दोनों में जोड़ देता हूं। डेबियन में संवादात्मक / लॉगिन गोले की हैंडलिंग थोड़ी गड़बड़ है।
इसी तरह की टिप्पणी संभवतः अन्य वितरणों पर लागू होती है, हालांकि शायद वे डिफ़ॉल्ट रूप से सोर्सिंग को सक्षम करते हैं।