मैंने सोचा कि मैं बैश समाप्ति की विफलता के लिए निम्नलिखित अतिरिक्त स्पष्टीकरण भी जोड़ूंगा- यह एक टिप्पणी के लिए बहुत लंबा है और किसी व्यक्ति के लिए उपयोगी हो सकता है, जिसे बैश पूरा होने में कोई समस्या हो, जैसा कि संभवतः यह 'सामान्य' विहित प्रश्न है सभी डुप्लिकेट संदर्भित हैं।
यहां तक कि अगर आप में उचित पंक्ति है अपने .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स्थापित में अनुप्रस्थ रेखा है ।