非特権ユーザーに対してapt-getの自動補完を有効にしますか?

非特権ユーザーに対してapt-getの自動補完を有効にしますか?

SUDO でパスワードなしで apt-get を有効にしましたが、それに対する bash の自動補完も有効にする必要がありますが、どうすればよいですか?

If i try to source that file:
%> . /etc/bash_completion.d/apt
No command 'have' found, did you mean:
 Command 'vave' from package 'lipsia' (universe)
 Command 'havp' from package 'havp' (universe)
 Command 'haxe' from package 'haxe' (universe)
 Command 'dave' from package 'libhttp-dav-perl' (universe)
 Command 'save' from package 'atfs' (universe)
have: command not found
No command 'have' found, did you mean:
 Command 'vave' from package 'lipsia' (universe)
 Command 'havp' from package 'havp' (universe)
 Command 'haxe' from package 'haxe' (universe)
 Command 'dave' from package 'libhttp-dav-perl' (universe)
 Command 'save' from package 'atfs' (universe)
have: command not found

答え1

関数have()は で定義されているため、単独で /etc/bash_completion実行することはできません。/etc/bash_completion.d/apt

次のコマンドを実行する必要があると思います

. /etc/bash_completion

そして、ディレクトリ内のすべての補完スクリプトが実行されます/etc/bash_completion.d

しかし、とにかくなぜこれを行う必要があるのか​​わかりません。私のシステム (natty および oneiric) では、apt-getの有無にかかわらず、 の補完はすでに機能しますsudo

答え2

プロンプトから、 を使用しているようですがzsh、本当ですか?

bash-completionは、その名前が示すように、 の補完なのでbash、 と部分的に互換性はありますが、他のシェルで動作することは保証されませんbash

関連情報