web-dev-qa-db-ja.com

「Sudo apt-get install」では自動補完が機能しない

さて、私の大学はあなたにできることを教えてくれました

Sudo apt-get install <type first letters of package> <TAB>

パッケージの名前を自動補完すること。ほんの一例です...

Sudo apt-get install ged<TAB>Sudo apt-get install geditになります

今、私はこれをしようとしましたが、これは私のために機能しません。

どうすれば解決できますか?パッケージをインストールする必要がありますか?私の大学は、彼はそれのために余分なものをインストールしなかったと私に言った。

36
WG-

Bashは、ファイル名の補完だけでなく、さらにいくつかの種類のオートコンプリートをサポートします。

ファイル/etc/bash.bashrcには、次のような段落、またはこれに似た段落があります。

#対話型シェルでbash補完を有効にします
#if! shopt -oq posix; then 
#if [-f/usr/share/bash-completion/bash_completion]; then 
#。 /usr/share/bash-completion/bash_completion
# Elif [-f/etc/bash_completion]; then 
#。 /etc/bash_completion
# fi 
#fi 

(この例はdebianのものですが、おそらくUbuntuバージョンと同じです)

各行の先頭にある#文字を削除することにより、多くの追加の完了規則を有効にします。 (最初の行の#を削除しないでください...これは本当にコメントです;-)

Apt-getの完了は、これで可能になったものの1つだと思います。そうでない場合は、zshへの切り替えを検討できます。私は彼らがそれをサポートしていることを知っています;-)

45
Paul Hänsch

私は、bash-completionが何らかの理由でインストールされていないため、これが起こっていることを発見しました。これで修正されました(12.04):

Sudo apt-get install bash-completion
23
d_inevitable

Ubuntu 15.10をインストールした後、同じ問題が発生しました。
bash-completionを再インストールするとうまくいきました。

Sudo apt-get install --reinstall bash-completion
8
hg8

Ubuntuでは、それも私を苛立たせ始めました。

gksu gedit /etc/bash.bashrc

そして変わった

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

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

今ではもう一度やりたいように動作します... HTH :)

PaulHänschが与えた例とは異なり、私のものはubuntu 12.04から来ました。ポールズのバージョンが正確に何をするのか分かりませんが、彼はそれについて少し詳しく説明できるでしょうか?

4
Ashrael

別の問題として、失敗したapt-get updateがあります。間違ったソースを削除し、apt-get updateを実行した後、オートコンプリートが復元されました。

1
Tamás Barta

ターミナルを開き、

Sudo apt-get install bash-completion

Bash-completionをインストールすると、この問題は私の側で修正されます。

1
Grace Zhan

これは、次のいずれかの場合に起こります。

  1. スーパーユーザーではないため、オートコンプリートを使用できない大学PCを使用しています。

  2. ダウンロードしようとしているパッケージのPPAがsource.listにありません。そのため、ターミナルはダウンロードしようとしているパッケージを認識できません。

注:これはすべての人に当てはまるわけではありません。私の経験を共有しています

0
Suhaib