编辑:原标题说的是 "bash prompt",但我使用的是 "zsh"。我接受了 @Artur R. Czechowski 的答案,因为它在 bash 上下文中是正确的,并且在他的帮助下,我能够让我的工作。现在 PROMPT 是 ' ${ENV}${ENV:+ } %F{249}${PWD/#$HOME/~} %{$fg[green]%}'○'
,只需要添加关于 ENV 的内容就可以了。
原始帖子:作为我的工作的一部分,我经常更改环境变量。如此频繁以至于我感觉我不可避免地会忘记我在哪个环境中并做些我不应该做的事情。如果它与您回答我的问题有关,在这种情况下,我通过运行一个 shell 脚本来更改环境,我的当前 bash 提示符是 PROMPT=' %F{249}${PWD/#$HOME/~} %{$fg[green]%}'○' '
。
如果我处于虚拟环境(例如 venv)中,那么我的提示符将以 (.venv) 为前缀。如何在像 DB_HOST
这样的环境变量中获得类似的东西?如果 DB_HOST
更改,我希望 bash 提示符立即更改并持久存在。
\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\[\033[00m\] $
我添加的内容: `myPrompt() { PS1=" ${ENV}${ENV:+ } %F{249}${PWD/#$HOME/~} %{$fg[green]%}'○' " }PROMPT_COMMAND=myPrompt()`
- JasonPROMPT=' blahblah'
中添加${ENV}${ENV:+ }
来使它工作。非常感谢! - Jason