Conclusões do Bash quebradas

1

Estou usando as seguintes conclusões do bash instaladas via brew:

bash-completion
bash-completion@2

Meu .bashrc se parece com:

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

O problema é que, quando pressiono TAB em um prompt vazio no teclado, recebo o erro:

-bash: words: bad array subscript

Depois de remover /usr/local/share/bash-completion/bash_completiondo .bashrcerro não acontece, mas eu perco muitas conclusões.

Qual é o problema aqui? Como posso corrigir isso?

Xolve
fonte

Respostas:

2

A solução é que eu deveria chamar a conclusão do bash da 1.3.2 antes bash-completion@2. A seguir está como minha .bashrcaparência, e isso resolve o problema:

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
fonte