如何使 PS1 字符串在每次用户在 shell 提示符下输入 Enter 键时始终重新计算?
我的实际情况:
n=A; PS1="$n"
n=B
提示一直显示A,如何解决?
答案1
您的 $PS1 变量使用 $n 一次,因为 $n 在最初设置 $PS1 时被评估并替换为它的值。这是因为您使用了双引号,在 bash 中,它会计算赋值中双引号字符串中的变量。
如果您希望 $PS1 反映 $n 的当前值,则需要在 $n 两边加上单引号或转义美元符号。
例如:
PS1='$n'
或者
PS1="\$n"