注意:不要爲該示例提供更簡單的解決方案,它僅生成以顯示問題,訂單取自真實的。bash爲PS1解析文字值中的變量
我試圖改變我的PS1在「.bashrc中」,不想在這裏打全碼(但需要存儲的文字模板中定義它的內部變量之前),問題總結到:
PROMPT_START='$PathShort'
PathShort="\w"
PS1="$PROMPT_START$"
結果我有:
\w$
但我相信:
~/java/git/shell$
但如果讓PS1,如:
PS1="\w$"
結果不如預期:
~/java/git/shell$
通過推遲變量($ PathShort)我(第一)變種解決如何讓PS1?
注意:我不能改變的變量的順序,這個問題是這樣
後'$ PathShort'擴大到'\ w'的bash不會擴大再次產生'\ w'。 – pynexj
我可以評估文字字符串中的變量,以定義將包含'\ w'的變量,並且PS1將只執行'\ w'的一步擴展爲精確值? –
我不太明白你真正的問題,但你可以使用'PROMPT_COMMAND'來做你想要的任何事情。這是[一個簡單的例子](http://stackoverflow.com/a/15673542/900078)我寫了。 – pynexj