it-swarm-ja.com

Bashオートコンプリートは、ファイル名の後に末尾のスラッシュを追加します

最近、システムをEtchからLennyにアップグレードしました。オートコンプリートを使用すると、(ディレクトリではなく)ファイル名がコマンドラインの末尾にスラッシュで表示されます。

複数の(すべて?)コマンドに関連しているようです。私はいくつか試しました:

[email protected]:~/loadtest$ vi pyloadtools3.py/
[email protected]:~/loadtest$ cat pyloadtools3.py/
[email protected]:~/loadtest$ file pyloadtools3.py/
[email protected]:~/loadtest$ ls -al pyloadtools3.py/

これを修正するにはどうすればよいですか?

9
AJ.

これらは、この問題に関心があることがわかったファイルとファイルの抜粋です。 Ubuntu10.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

これは、bashのバージョンのバグである可能性があります。だから今本当の質問は...あなたはbashのどのバージョンを持っていますか?

この問題を抱えている他の人にとって、解決策を簡単に見つけることができるように:

「/ etc/bash_completionスクリプトに問題がある可能性があります。bash_completionパッケージを再インストールしてみてください。それでも問題はありますか?–W_Whalley」

-コメントを見る

4
James T
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
1
SergioAraujo

これは、プログラム可能な完了とはまったく関係ありません。代わりに、それは単純なreadline設定です。追加してみてください

set mark-directories Off

あなたの~/.inputrcに。

(ちなみに、man bashを2分間調べたところ、これが見つかりました。)

0
scy