Bash-Autocomplete-Verhalten in Debian 8 - bash, autocomplete, bashrc, debian-jessie, bash-alias

Bei einer Neuinstallation von Debian 8 (Jessie) habe ich festgestellt, dass die Autovervollständigung in der Bash unter Verwendung der tab Schlüssel hat sich geändert.

Der Test, den ich gemacht habe, war:

  1. Ă–ffne ein Terminal (in meinem Fall Konsole). Ăśber der Eingabeaufforderung wird angezeigt
    ~ ~
    ~ ~ ~
    ~ ~ ~ ~
    ~ ~ ~ ~ ~
    ~ ~ ~ ~ ~ ~
    ~ ~ ~ ~ ~ ~ ~
    ~ ~ ~ ~ ~ ~ ~ ~
    ~ ~ ~ ~ ~ ~ ~ ~ ~
    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  2. mkdir -p /tmp/test # Testverzeichnis erstellen
  3. cd /tmp/test # gehe in das leere Verzeichnis
  4. ls <tab> <tab> <tab> <tab>
    /tmp/test /tmp/test ~ ~ ~ ~ ~ ~ ~ ~ ~ # nach 1 tab
    /tmp/test /tmp/test /tmp/test ~ ~ ~ ~ ~ ~ ~ ~ ~ # nach 2 tabs
    /tmp/test /tmp/test /tmp/test /tmp/test ~ ~ ~ ~ ~ ~ ~ ~ ~ # nach 3 tabs
    /tmp/test /tmp/test /tmp/test /tmp/test /tmp/test ~ ~ ~ ~ ~ ~ ~ ~ ~ # nach 4 tabs

FrĂĽher wurden nur die Dateien im Verzeichnis angezeigt (falls vorhanden). WeiĂź jemand woran das liegt? Etwas in .bashrc? Gerne senden wir weitere Dateien, wenn das hilft!

Antworten:

1 fĂĽr Antwort â„– 1

Fand die Antwort auf dieses Rätsel in 2 Schritten. Erstens, mein alter .bash_aliases benutzt alias [="pushd ." und alias ]="popd". Das Entfernen dieser Zeilen löste das seltsame Verhalten oben, aber ich hatte meine Aliase verloren.

Aber wenn ich diese Aliase behalte und die Linie einstelle

if [[ -f ~/.bash_aliases ]]; then
. ~/.bash_aliases
fi

im .bashrc nach die Linie

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

dann kann ich meine beiden behalten [ und ] Aliase und normale Autovervollständigung haben. Es sieht so aus, als hätten die Aliase Jessies Autovervollständigungs-Setup in Bash gestört. Der einzige Grund, warum der Anruf von .bash_aliases Vor dem Aufruf der Autocompletion-Skripte stand ursprünglich, dass in der Vorlage .bashrc geliefert mit der Installation waren sie in dieser Reihenfolge.