Wenn Sie im Terminal die Tabulator-Taste drücken, vervollständigt die bash
normalerweise Ihre begonnene Eingabe. apt-get dist-upg <Tab>
wird zu apt-get dist-upgrade
. Diese Funktion heißt bash_completion
— und obwohl das betreffende Paket in Ubuntu 15.10 installiert ist, funktioniert es nicht. Schuld ist eine fehlerhafte Einstellung in /etc/bash.bashrc
. Laden Sie diese Datei also in einen Editor und entfernen Sie vor den folgenden Zeilen jeweils das Kommentarzeichen #
, das dort aus unerfindlichen Gründen enthalten ist.
# enable bash completion in interactive shells
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Update 2.12.2015: Wie in den Kommentaren korrekt angemerkt, funktioniert die bash_completion
normalerweise sehr wohl. Beim Einrichten eines neuen Benutzers wird /etc/skel/.bashrc
in das Heimatverzeichnis des Benutzers kopiert. Diese Datei enthält die richtigen Einstellungen für die bash_completion
. Bei mir hat es deswegen nicht funktioniert, weil ich den Benutzer-Account von einer anderen Linux-Distribution übernommen habe. Dessen Datei .bashrc
enthielt aber andere Einstellungen.
In /etc/skel/.bashrc ist der Bereich nicht kommentiert und sofern ich nicht vollkommen falsch informiert bin werden diese Dateien beim Anlegen eines neuen Benutzers nach $HOME kopiert. Oder habe ich etwas übersehen bzw. nicht verstanden?
Sie haben recht. Bei mir hat es deswegen nicht funktioniert, weil ich das /home-Verzeichnis von einer anderen Linux-Installation übernommen habe. Der Benutzer war daher schon eingerichtet — und hatte andere Default-Einträge in .bashrc.
Ich habe den Artikel entsprechend angepasst.