私は現在64ビットDebian Wheezyを実行しています。
apt-getのオートコンプリートにはいくつかの問題があります。 bash完成をインストールしました。
シェルからrootとしてログインしている場合は、apt-get autocompleteを使用できます(例:apt-get インストール wicd[タブ][タブ]]) 一致するすべてのパッケージが表示されます。ただし、root以外のユーザーにapt-getオートコンプリート機能を使用しようとすると(sudoを使用しても)まったく機能しません。ファイル名などの他の項目をオートコンプリートできます。
助けが必要ですか?
私の.bashrcと/etc/profileには次のコードがあります。
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
答え1
ファイル/etc/bash_completion
が失われた可能性があります。
sudo apt-get install bash-completion
それはあなたのすべての問題を解決する必要があります。
/etc/bash.bashrc
Faheem Mithaと他の人が指摘したように、すでにコメントアウトされていない行があることを考えると、うまくいきます。
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
原因:bash-completion
パッケージにこのファイル (/etc/bash_completion) があります。bash
以前はパッケージに入っていましたが、今はそうではありません。
答え2
これが必要かどうか覚えていませんが、/etc/bash.bashrc
まだコメントを解除していない場合は、その行のコメントを解除してみてください。
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
答え3
以下を実行してみてください。
chsh -s /bin/bash $USER
答え4
私が覚えているように、コマンドパラメータのbashオートコンプリートはコマンドを介してcomplete
行われます。 rootユーザーのbashrc(おそらく/ root / .bashrc)によってロードされたapt-get完了スクリプトが必要です。これを実行するにはrootログインが必要です。 Sudoはrootログインスクリプトをロードせず、権限のみを付与します。
root以外のユーザー用のオートコンプリートスクリプトが欠落しているため、apt-getに対してbashオートコンプリートが構成されていない可能性があります。もしそうなら、sudoersファイルからすべての権限を持つユーザーの関数をロードしてください。