मैंने सोचा कि मैं बैश समाप्ति की विफलता के लिए निम्नलिखित अतिरिक्त स्पष्टीकरण भी जोड़ूंगा- यह एक टिप्पणी के लिए बहुत लंबा है और किसी व्यक्ति के लिए उपयोगी हो सकता है, जिसे बैश पूरा होने में कोई समस्या हो, जैसा कि संभवतः यह 'सामान्य' विहित प्रश्न है सभी डुप्लिकेट संदर्भित हैं।
यहां तक कि अगर आप में उचित पंक्ति है अपने .bashrc
और (ऊपर जवाब के रूप में) bash-completion
पैकेज स्थापित, बैश पूरा होने के अभी भी खराब करता है, तो आप या तो हो सकता है shopt -s nullglob
या shopt -s failglob
अपने में .bashrc
या .bash_aliases
।
निम्न परिदृश्यों को सभी उपयोगकर्ता के अनुकूलन के साथ परीक्षण किया गया था .bashrc
और .bash_aliases
एक निष्पक्ष परीक्षण देने के लिए हटा दिया गया था, .bashrc
वर्तमान में और bash-completion
स्थापित के साथ उपयुक्त बैश पूरा होने के साथ ।
1) पहला परिदृश्य तब होता है जब आप shopt -s failglob
अपने .bashrc
या में होते हैं .bash_aliases
।
क्रमशः पूर्ण निर्देशिकाओं और फ़ाइलों को टैब करने का प्रयास करते समय, ये त्रुटियां होंगी:
cd Dbash: no match: "${COMP_WORDS[@]}"
cat pabash: no match: words[0]=${!ref}${COMP_WORDS[i]}
हालाँकि, आदेश अभी भी सफलतापूर्वक पूरा हो जाएगा।
2) shopt -s nullglob
सक्षम के साथ , एक निर्देशिका या एक फ़ाइल को पूरा करने की कोशिश कर रहा है बजाय एक पूरा होने के साथ सूचीबद्ध सब कुछ हो जाएगा:
cd Do
.adobe/ .gimp-2.6/ Podcasts/
.aptitude/ .gnome2/ Public/
.audacity-data/ .gnome2_private/ .pulse/
............
मैंने यहां लिस्टिंग को छोटा कर दिया है, क्योंकि यह बहुत लंबा था और यह सभी को पुन: पेश करने के लिए आवश्यक नहीं था।
फिर भी, कमांड पूरा करना अभी भी काम करेगा।
तो, बस हटाने shopt -s failglob
या shopt -s nullglob
बैश पूरा होने के साथ त्रुटियों की समस्या को भी हल कर सकते हैं, यह मानते हुए कि आपके पास आपके .bashrc
और bash-completion
स्थापित में अनुप्रस्थ रेखा है ।