Невозможно переопределить PS1 с direnv - PullRequest
0 голосов
/ 21 октября 2019

Я слежу за direnv wiki на PS1 . У меня есть следующие соответствующие записи в моих файлах.

.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 с 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) $

Я не уверен, как должно работать решение в вики, так как, по-видимому,Значение PS1 устанавливается в DEFAULT_PS1, когда файл .bashrc загружается в первый раз и не переоценивается как часть ловушки direnv.

Как изменить значение PS1 с помощью direnv * * 1023

...