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?

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.