在 PS1 变量中设置 ${PWD} 在 Korn Shell 中不起作用

Opt*_*ime 1 ksh ps1

我已将以下内容设置为 Solaris 5.10 中的 PS1 变量

PS1="\[${USER}@`uname -n` ${PWD}]\$ "
Run Code Online (Sandbox Code Playgroud)

当我启动终端会话时,它显示正确的目录(即我的主目录),但是当我更改为其他目录时,它实际上不起作用。它仍然继续显示我的主目录。

知道为什么会发生这种情况以及如何纠正这个问题吗?

Ner*_*elu 5

包含在 中的字符串中的变量"在第一次遇到时进行评估。

$PS1每次显示之前也会进行评估。

您需要转义$以推迟评估$PWD

PS1="\[\${USER}@`uname -n` \${PWD}]\$ "
Run Code Online (Sandbox Code Playgroud)