
如何讓 PS1 字串在每次使用者在 shell 提示字元下輸入 Enter 鍵時始終重新計算?
我的實際情況:
n=A; PS1="$n"
n=B
提示一直顯示A,如何解決?
答案1
您的 $PS1 變數使用 $n 一次,因為 $n 在最初設定 $PS1 時被評估並替換為它的值。這是因為您使用了雙引號,在 bash 中,它會計算賦值中雙引號字串中的變數。
如果您希望 $PS1 反映 $n 的目前值,則需要在 $n 兩邊加上單引號或轉義美元符號。
例如:
PS1='$n'
或者
PS1="\$n"