2014-02-26 36 views
0

我已經設置了以下爲我的PS1變量的Solaris 5.10

PS1="\[${USER}@`uname -n` ${PWD}]\$ " 

當我開始我的終端會話,它顯示了正確的目錄(即我的主目錄),但是當我切換到其他目錄時,它實際上不起作用。它仍然繼續顯示我的主目錄。

任何想法爲什麼發生這種情況,以及如何糾正這種情況?

回答

3

"中包含的字符串中包含的變量會在第一次遇到時進行評估。

$PS1也會在每次顯示之前進行評估。

你需要躲避$推遲$PWD評價:

PS1="\[\${USER}@`uname -n` \${PWD}]\$ " 
+0

雖然這確實爲我工作,我有點困惑的轉義,特別是關於第一'['最後'$'。有人能爲我解釋這個嗎?外殼提示符 – rbrtl

+0

interperted 2次。 1在創建分配和第二次在運行時。 – NeronLeVelu

+0

好的,謝謝!最後一個']'怎麼樣,似乎是非轉換? – rbrtl