bash_completion in Ubuntu 15.10

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.

2 Gedanken zu „bash_completion in Ubuntu 15.10“

  1. 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?

    1. 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.

Kommentare sind geschlossen.