/ / brew: Bash-Vervollständigungen auf MacOS gebrochen - Macos, Bash, Autocomplete, Homebrew

brew: Bash-Vervollständigungen, die unter macOS abgebrochen wurden - macos, bash, autocomplete, homebrew

Ich verwende die folgenden Bash-Vervollständigungen, die über brew installiert wurden: bash-completion und bash-completion@2. Meine .bashrc sieht aus wie:

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 drĂĽcke TAB auf der Tastatur bekomme ich den Fehler:

-bash: words: bad array subscript

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

Update 1: Nach dem Entfernen /usr/local/share/bash-completion/bash_completion von .bashrc Fehler kommt nicht vor, aber ich verpasse viele AbschlĂĽsse.

Antworten:

0 fĂĽr Antwort â„– 1

Die Lösung ist, dass ich die Bash-Vervollständigung von 1.3.2 vorher aufrufen sollte bash-completion@2. Es folgt, wie meine .bashrc sieht aus, 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

0 fĂĽr Antwort â„– 2

Der neue richtige Weg ist, die folgende Zeile zu Ihrem ~ / .bash_profile hinzuzufĂĽgen:

[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"