Bash-Completion funktioniert nicht fĂĽr Apt - Linux, Debian, BashRC

Ich leite eine minimales Debian Installation, die mit praktisch nichts kommtEingerichtet. Ich versuche, die automatische Vervollständigung der Bash zum Funktionieren zu bringen. Ich habe alle Fragen zu diesem Thema auf Superuser- und Askubuntu-Sites durchgesehen und dies ist, was ich gefunden habe.

Ich verstehe, dass ich die Bash-Vervollständigung installieren muss. Ich habe das auf meinem System installiert. Ich fand, dass ich das in meinem haben muss $HOME/.bashrc Datei:

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

Das war schon da. Ich habe irgendwo gelesen, dass es dem hinzugefügt werden soll /etc/profile Datei. Ich habe das gemacht. Ich habe mich abgemeldet und wieder angemeldet und es funktioniert nicht. Ich fügte hinzu && echo "OK" zu den Akten und wenn ich das Terminal lade, sagt es OK, also weiß ich, dass es es laufen lässt.

Auto-Vervollständigung für Programme und Pfade funktioniert, aber das hat immer funktioniert, noch bevor ich die Bash-Vervollständigung installiert habe. Die Hauptsache, die nicht funktioniert und mich stört, ist passend. Wenn ich sage sudo apt install ged Wenn Sie dann zweimal auf tab drücken, wird keine Liste der Pakete angezeigt, die mit dieser Zeichenfolge beginnen, wie dies in Ubuntu und anderen Betriebssystemen der Fall ist.

Wie kann ich die Bash-Vervollständigung für die Arbeit mit apt einsetzen? Danke im Voraus!

Antworten:

2 fĂĽr Antwort â„– 1

Was ich nicht bemerkt hatte ist, dass die Bash-Vervollständigung einen Ordner enthält /usr/share/bash-completion/ Abschluss mit separaten Dateien für jedes Programm, das es unterstützt, aufgerufen.

Ich habe die apt-Datei von meiner Ubuntu-Box kopiert und in diesem Ordner auf meiner minimalen Debian-Box abgelegt. Jetzt funktioniert es einwandfrei.


1 fĂĽr Antwort â„– 2

Ich hatte Probleme mit der automatischen Vervollständigung beim Versuch, sie automatisch zu vervollständigen wget mit apt-get install wg[TAB][TAB] und ich habe es geschafft, es zu lösen, indem ich das entferne --no-generate Parameter von den Fliegen unten:

/usr/share/bash-completion/completions/apt-cache
/usr/share/bash-completion/completions/apt-get

Erwähnenswert ist, dass diese Dateien erst nach der Installation verfügbar sind bash-completion.

Das --no-generate Der Parameter, auf den ich mich beziehe, ist in der folgenden Zeile zu sehen, aber ich habe ALLES entfernt --no-generate, nicht nur aus dieser Zeile: https://github.com/scop/bash-completion/blob/master/completions/apt-get#L28

Wie bin ich zu diesem Punkt gekommen?

Ich bin an diesem Punkt angelangt, nachdem ich gelaufen bin set -v vorherige zu apt-get install wg[TAB][TAB], was zeigte, dass der ausgefĂĽhrte Befehl war:

apt-cache --no-generate pkgnames wg

und die Ausgabe war ein Fehler:

E: Could not open file  - open (2: No such file or directory)

Als ich hingerichtet habe apt-cache pkgnames wg ohne das --no-generate Ich habe die Liste für die automatische Vervollständigung korrekt erhalten:

[email protected]:/# apt-cache pkgnames wg
wgalician-minimos
wget2
wgaelic
wget
wgerman-medical
wget2-dev

Hoffe das hilft.


Lies jetzt