it-swarm.com.de

Auto-Vervollständigung funktioniert nicht bei "Sudo apt-get install"

Okay, ein College von mir hat mir gerade gezeigt, dass du das kannst

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

Dass es den Namen des Pakets automatisch vervollständigt. Nur zum Beispiel ...

Sudo apt-get install ged<TAB> ergibt Sudo apt-get install gedit

Jetzt habe ich versucht, dies zu tun, aber das funktioniert bei mir nicht.

Wie kann ich das lösen? Muss ich ein Paket installieren? Mein College hat mir gesagt, dass er nichts extra dafür installiert hat.

36
WG-

Bash unterstützt einige weitere Arten der automatischen Vervollständigung, nicht nur die Vervollständigung von Dateinamen.

In der Datei /etc/bash.bashrc finden Sie einen Absatz wie diesen oder einen ähnlichen:

 # Aktivieren Sie die Bash-Vervollständigung in interaktiven Shells. 
 # if! shopt -oq posix; dann 
 # if [-f/usr/share/bash-completion/bash_completion]; dann
#    . /usr/share/bash-completion/bash_completion[.____.owntown# Elif [-f/etc/bash_completion]; dann
#    . /etc/bash_completion[.____.‹# fi 
 # fi 

(Dieses Beispiel stammt aus Debian, ist aber wahrscheinlich identisch mit der Ubuntu-Version)

Indem Sie das Zeichen # am Anfang jeder Zeile entfernen, werden viele zusätzliche Abschlussregeln wirksam. (Entferne nicht das # in der ersten Zeile ... das ist wirklich ein Kommentar ;-)

Ich glaube, apt-get-Vervollständigungen gehören zu denen, die dies ermöglichen. Wenn nicht, könnten Sie über einen Wechsel zu zsh nachdenken. Ich weiß, dass sie es unterstützen ;-)

45
Paul Hänsch

Ich habe festgestellt, dass dies bei mir passiert ist, weil bash-completion aus irgendeinem Grund nicht installiert wurde. Also das hat es behoben (12.04):

Sudo apt-get install bash-completion
23
d_inevitable

Ich hatte das gleiche Problem nach der Installation von Ubuntu 15.10.
Neuinstallation von bash-completion hat bei mir funktioniert:

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

In Ubuntu hat es mich auch gereizt, also habe ich gerade (im Terminal):

gksu gedit /etc/bash.bashrc

und verändert

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

in

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

jetzt klappt es so wie ich es wieder haben will ... HTH :)

Es unterscheidet sich von dem Beispiel, das Paul Hänsch gegeben hat, meins kam vom Ubuntu 12.04. Ich bin mir nicht sicher, was Pauls Version genau tun würde, vielleicht könnte er das etwas näher erläutern?

4
Ashrael

Ein anderes Problem kann ein fehlgeschlagener apt-get update sein. Nachdem ich die falschen Quellen entfernt und apt-get update ausgeführt habe, wurde meine Autovervollständigung wiederhergestellt.

1
Tamás Barta

Öffnen Sie ein Terminal und

Sudo apt-get install bash-completion

Nachdem ich die Bash-Vervollständigung installiert habe, ist dieses Problem auf meiner Seite behoben.

1
Grace Zhan

das passiert mir, wenn entweder:

  1. Ich benutze meinen Uni-PC, auf dem ich die Autovervollständigung nicht verwenden kann, weil ich kein Superuser bin.

  2. Der ppa des Pakets, das Sie herunterladen möchten, befindet sich nicht in Ihrem source.list. Daher kann das Terminal das herunterzuladende Paket nicht erkennen.

HINWEIS: Dies gilt möglicherweise nicht für alle. Teile nur meine Erfahrung

0
Suhaib