Назад | Перейти на главную страницу

Как выполнить автоматическую инициализацию direnv в Google Cloud Shell?

у моего .bashrc есть эти строки внизу:

if [ -f $HOME/tools/bashrc ]; then
        source $HOME/tools/bashrc
fi

и $HOME/tools/bashrc имеет этот код внизу:

eval "$(pyenv init -)"
pyenv virtualenvwrapper_lazy
eval "$(direnv hook bash)"
export DIRENV_LOG_FORMAT=

но когда я получаю доступ к каталогам, содержащим .envrc, это не чтение. Я даже пытался добавить echo чуть выше eval "$(direnv hook bash)" и он повторяет текст ОК при входе в систему или открытии нового bash.

Вот что интересно: когда я получаю доступ к каталогу, .envrc в нем, затем беги tmux new -s <name>, он откроет новый bash и прочитает .envrc. Но когда я получаю доступ к другому каталогу, .envrc на том же сеансе tmux, все еще читает его.

Единственный способ заставить его работать - это ввести вручную eval "$(direnv hook bash)" при входе в систему, что не идеально.

Я даже пробовал жестко кодировать все, что находится внизу ~/.bashrc но все то же поведение. Есть у кого-нибудь идея? Спасибо!