Ich habe apt-get in SUDO ohne Passwort aktiviert und die Bash-Autovervollständigung dafür muss ebenfalls aktiviert werden, aber wie?
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
Antwort1
Die Funktion have()
ist in definiert /etc/bash_completion
, daher ist eine /etc/bash_completion.d/apt
isolierte Ausführung nicht möglich.
Ich denke, Sie müssten den Befehl ausführen
. /etc/bash_completion
und es werden dann alle Vervollständigungsskripte im /etc/bash_completion.d
Verzeichnis ausgeführt.
Ich bin mir jedoch nicht sicher, warum Sie dies trotzdem tun müssen. Auf meinen Systemen (Natty und Oneiric) apt-get
funktioniert die Vervollständigung für bereits mit oder ohne sudo
.
Antwort2
Ihrer Eingabeaufforderung zufolge scheint es, dass Sie verwenden zsh
. Stimmt das?
bash-completion
ist, wie der Name schon sagt, die Vervollständigung für bash
. Daher kann nicht garantiert werden, dass es auch für andere Shells funktioniert, obwohl es teilweise mit kompatibel ist bash
.