Я использую пакет дополнения bash от Homebrew для OSX, который устанавливается в /usr /local /etc /bash_completion. Он работает нормально, но есть много расширений, которые зависят от различных переменных среды, начинающихся с COMP_, таких как COMP_LINE. Эти переменные среды, к сожалению, не экспортируются в мою среду bash, несмотря на то, что исходные файлы поставляются. Вот соответствующая область в моем .bash_profile:

# bash completion
if [ -f `brew --prefix`/etc/bash_completion ]; then
  . `brew --prefix`/etc/bash_completion
  . /usr/local/etc/bash_completion.d/git-completion.bash
fi

Однако COMP_LINE не установлен, что не позволяет другим дополнениям завершения работать:

> env | grep COMP_LINE
>

Любые идеи, почему переменные среды не установлены? Спасибо заранее за ваше время.

1 ответ1

0

$COMP_LINE не является переменной среды. Это внутренняя переменная, и она видна только функциям завершения, а не другому использованию оболочки. (Большинство других внутренних переменных видны в declare .)

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