我可以像这样在Bash提示符内设置环境变量:
export PS1="[\u@\H/$FOO \W]\$ "
当我更改环境变量$FOO
时,提示符并没有发生改变,因为$FOO
变量未被解释。
我可以通过重新导出PS1来解决此问题。但我想要能在一行上完成。
[user@server ]$ echo $FOO
foo
[user@server ]$ export PS1="[$FOO]$ "
[foo]$ export FOO=bla
[bla]$
这个能不能用一行代码实现?
我可以像这样在Bash提示符内设置环境变量:
export PS1="[\u@\H/$FOO \W]\$ "
当我更改环境变量$FOO
时,提示符并没有发生改变,因为$FOO
变量未被解释。
我可以通过重新导出PS1来解决此问题。但我想要能在一行上完成。
[user@server ]$ echo $FOO
foo
[user@server ]$ export PS1="[$FOO]$ "
[foo]$ export FOO=bla
[bla]$
这个能不能用一行代码实现?
你需要添加反斜杠,以便在评估PS1时而不是FOO分配的时间进行评估,因此请执行以下操作:
export PS1="[\$FOO]$ "
使用以下方式代替:
export PS1="[$FOO]$ "
注意在$FOO
前面加上\
。
prompt() {
PS1="[$FOO]$ "
}
PROMPT_COMMAND=prompt
$FOO
变量中使用字符转义吗? - Plamenexport PS1='[$FOO]$ '
的翻译: - Gary