我正在关注PS1 上的 direnv wiki。我的文件中有以下相关条目。
.bashrc
DEFAULT_PS1='\[$(ppwd)\]\u@\h:\w$(__git_ps1 " (%s)")'
# add some more things to DEFAULT_PS1, conditionally
DEFAULT_PS1+='> '
PS1=${CUSTOM_PS1:-$DEFAULT_PS1}
# optional bashrc file extensions
for f in ~/.bashrc_*; do test -s $f && . $f || true; done
eval "$(direnv hook bash)"
.envrc
export KUBECONFIG=~/.config/kube/homelab.yaml
export KUBE_PS1_ENABLED=on
export CUSTOM_PS1='$(kube_ps1) $ '
PATH_add scripts
我已经允许使用最新版本的.envrc
with direnv allow
。但是,当切换到目录时,没有设置自定义的 PS1 值,虽然这些值似乎是正确的
$ cd -
/home/robert/sources/oss/sling-cloud-native
direnv: loading .envrc
direnv: export +CUSTOM_PS1 +KUBE_PS1_ENABLED ~KUBECONFIG ~PATH
$ echo $PS1
\[$(ppwd)\]\u@\h:\w$(__git_ps1 " (%s)")$(kube_ps1)>
$ echo $CUSTOM_PS1
$(kube_ps1) $
我不确定 wiki 中的解决方案应该如何工作,因为显然 PS1 的值在第一次加载文件时设置为 DEFAULT_PS1并且没有作为钩子.bashrc
的一部分重新评估。direnv
如何使用 更改 PS1 的值direnv
?