1

Я использую следующие дополнения bash, установленные с помощью brew: bash-completion и bash-completion@2 . Мой .bashrc выглядит так:

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

Проблема в том, что когда я нажимаю TAB на клавиатуре, я получаю сообщение об ошибке:

-bash: words: плохой индекс массива

В чем здесь проблема? Как я могу это исправить?

Обновление 1: после удаления /usr/local/share/bash-completion/bash_completion из .bashrc ошибки не происходит, но я пропускаю многие дополнения.

1 ответ1

0

Решение состоит в том, что я должен вызывать bash complete из 1.3.2 до bash-completion@2 . Вот как выглядит мой .bashrc , и это решает проблему:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .