web-dev-qa-db-fra.com

activer l'achèvement automatique d'apt-get pour un utilisateur non privilégié?

J'ai activé apt-get dans Sudo sans mot de passe, et l'auto-complétion bash doit également être activé, mais comment?

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
4
daisy

La fonction have() est définie dans /etc/bash_completion, il n'est donc pas possible d'exécuter /etc/bash_completion.d/apt en isolation.

Je pense que vous auriez besoin d'exécuter la commande

. /etc/bash_completion

et il exécutera ensuite tous les scripts de complétion dans le /etc/bash_completion.d répertoire.

Cependant, je ne sais pas pourquoi vous auriez besoin de le faire de toute façon. Sur mes systèmes (natty et oneiric) achèvement pour apt-get fonctionne déjà avec ou sans Sudo.

2
mal

D'après votre invite, il semble que vous utilisez zsh, est-ce vrai?

bash-completion, comme son nom l'indique, est l'achèvement de bash, il n'est donc pas garanti de fonctionner pour d'autres shells, bien que partiellement compatible avec bash.

0
enzotib