如何在 Google Cloud Shell 上自动初始化 direnv?

如何在 Google Cloud Shell 上自动初始化 direnv?

我的 .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 时会回显文本 ok。

有趣的是:当我访问包含 的目录.envrc,然后运行 ​​时tmux new -s <name>,它将打开一个新的 bash 并读取.envrc。 但是当我访问.envrc同一 tmux 会话中的另一个包含 的目录时,仍然会读取它。

对于我来说,使其工作的唯一方法是eval "$(direnv hook bash)"在登录时手动输入,但这并不理想。

我甚至尝试在底部对所有内容进行硬编码~/.bashrc,但行为仍然相同。有人有想法吗?谢谢!

相关内容