बैश ऑटो-पूरा एडल्ड ट्रेलिंग स्लैश फाइलन के बाद


9

मैंने हाल ही में अपने सिस्टम को Etch से Lenny में अपग्रेड किया है। अब जब मैं ऑटो-पूर्ण का उपयोग करता हूं, तो कमांड लाइन पर फ़ाइल नाम (निर्देशिका नहीं) एक अनुगामी स्लैश के साथ दिखाई देते हैं।

यह कई (सभी?) कमांड से संबंधित लगता है। मैंने कुछ कोशिश की:

aj@mmdev0:~/loadtest$ vi pyloadtools3.py/
aj@mmdev0:~/loadtest$ cat pyloadtools3.py/
aj@mmdev0:~/loadtest$ file pyloadtools3.py/
aj@mmdev0:~/loadtest$ ls -al pyloadtools3.py/

मैं यह कैसे तय करुं?


क्या यह लाइन की शुरुआत में कमांड की परवाह किए बिना या केवल कुछ विशेष लोगों के लिए करता है? उदाहरण के लिए: cat filen[TAB]बनामsomecommand filen[TAB]
अगली सूचना तक रोक दिया गया।

3
यह / etc / bash_completion स्क्रिप्ट के साथ कोई समस्या हो सकती है। Bash_completion पैकेज को पुन: स्थापित करने का प्रयास करें। क्या यह अभी भी समस्या है?
W_Whalley

1
@W_Whalley - यही था। कृपया इसे उत्तर के रूप में पोस्ट करें ताकि मैं आपको इनाम दे सकूं। धन्यवाद!
ए जे।

1
@W_Whalley - FYI करें 1 दिन में बाउंटी समाप्त कृपया अपना जवाब नीचे दें ताकि मैं आपको इसका श्रेय दूं। आपकी सहायता के लिए एक बार फिर से धन्यवाद!
ए जे।

2
मैं GNU बैश 3.2.57 के साथ Mac OS पर यह समस्या आ रहा हूँ। यह कभी-कभी ही होता है । उदाहरण के लिए, मेरे पास 5 टर्मिनल खिड़कियां खुली हुई हैं जो अभी चल रही हैं, और उनमें से केवल एक ही ऐसा कर रही है। मुझे लगता है कि @scy इस किया जा रहा ReadLine मुद्दे के बारे में सही है, लेकिन mark-directoriesकिया जा रहा है onएक समस्या नहीं होनी चाहिए। मैं अनुमान लगा रहा हूं कि मैंने CTRL-somethingकिसी बिंदु पर भटका है और इस विशेष टर्मिनल को तोड़ दिया है।
क्रिस्टोफर शुल्त्स

जवाबों:


4

ये फाइलों की फाइलें और स्निपेट हैं जिन्हें मैंने इस समस्या के लिए रुचि के रूप में पाया है। ध्यान दें कि मैं Ubuntu 10.04 चला रहा हूं

आप समझ सकते हैं कि समस्या मेरी कॉन्फ़िगरेशन फ़ाइलों से क्या है। अन्यथा, शायद आपके संबंधित कॉन्फ़िगरेशन को पोस्ट करने पर विचार करें।

~ / .bashrc का अंतिम भाग

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

/Etc/bash.bashrc में पृष्ठ का 40% नीचे है (क्या आपके पास इस भाग की टिप्पणी है?)

# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

मुझे ये लेख रुचि के थे:

http://www.linux.com/archive/feed/54005

http://www.debian-administration.org/articles/316

मुझे कुछ और शोध करना होगा ... लेकिन यह वही है जो मुझे अभी तक मिला है।

इसे टर्मिनल में चलाने का प्रयास करें और फिर देखें कि क्या आपको अभी भी समस्या है:

. /etc/bash_completion

संपादित करें: पाया गया कि टैब-पूर्णता / etc / bash_completion द्वारा नियंत्रित की जाती है। कई linux कमांड की /etc/bash_completion.d/ निर्देशिका में अपनी टैब पूर्णता सेटिंग भी होती है।

अन्य लोगों को भी यह समस्या हुई है:

http://forums.gentoo.org/viewtopic-t-751913-start-0.html

https://bugzilla.redhat.com/show_bug.cgi?id=583919

यह बैश के आपके संस्करण में एक बग हो सकता है। तो अब असली सवाल यह है ... आपके पास क्या संस्करण है?

बस इसलिए कि इस मुद्दे पर दूसरों के लिए समाधान खोजना आसान है:

"यह / etc / bash_completion स्क्रिप्ट के साथ एक समस्या हो सकती है। bash_completion पैकेज को पुन: स्थापित करने का प्रयास करें। क्या अभी भी यह समस्या है? - W_Whalley"

-टिप्पणी देखो


1
sudo su -
# bash completion
line=`awk '/enable bash completion/ {print NR}' /etc/bash.bashrc`
sed -i.backup "$((line+1)),$((line+3))s/^#//g" /etc/bash.bashrc


# bash completion fork: http://code.google.com/p/bash-completion-lib/
apt-get install -y bash-completion-lib

0

यह बिल्कुल प्रोग्राम योग्य पूरा होने से संबंधित नहीं है। इसके बजाय, यह एक सरल रीडलाइन सेटिंग है। जोड़ने का प्रयास करें

set mark-directories Off

अपने को ~/.inputrc

(वैसे, मैंने इसे man bashदो मिनट तक देखने के बाद पाया ।)


mark-directories (On) - If set to On, completed directory names have a slash appended. स्पष्ट नहीं है कि यह समस्या का स्रोत है ...
medina
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.