Bash-Vervollständigungen gebrochen

1

Ich verwende die folgenden Bash-Vervollständigungen, die über brew installiert wurden:

bash-completion
bash-completion@2

Mein .bashrc sieht so aus:

if [ -f /usr/local/share/bash-completion/bash_completion ]; then
. /usr/local/share/bash-completion/bash_completion
fi


if [ -f /usr/local/Cellar/bash-completion/1.3_2/etc/bash_completion ]; then
  BASH_COMPLETION=/usr/local/Cellar/bash-completion/1.3_2/etc/bash_completion
  . /usr/local/Cellar/bash-completion/1.3_2/etc/bash_completion
fi

Das Problem ist, wenn ich bei einer leeren Eingabeaufforderung auf der Tastatur die Tabulatortaste drücke, wird folgende Fehlermeldung angezeigt:

-bash: words: bad array subscript

Nach dem Beheben /usr/local/share/bash-completion/bash_completionvon .bashrcFehlern kommt es nicht vor, aber ich verpasse viele Abschlüsse.

Was ist das Problem hier? Wie kann ich es reparieren?

Xolve
quelle

Antworten:

2

Die Lösung ist, dass ich die Bash-Vervollständigung von 1.3.2 vorher aufrufen sollte bash-completion@2. Das Folgende ist, wie ich .bashrcaussehe, und das löst das Problem:

if [ -f /usr/local/Cellar/bash-completion/1.3_2/etc/bash_completion ]; then
  BASH_COMPLETION=/usr/local/Cellar/bash-completion/1.3_2/etc/bash_completion
  . /usr/local/Cellar/bash-completion/1.3_2/etc/bash_completion
fi

if [ -f /usr/local/share/bash-completion/bash_completion ]; then
    . /usr/local/share/bash-completion/bash_completion
fi
Xolve
quelle