2011-09-09 19 views
18

我可以設置bash提示符像這裏面的環境變量:當我改變環境變量如何插入的bash裏面的環境變量提示

export PS1="[\[email protected]\H/$FOO \W]\$ " 

提示不會改變:$FOO因爲$FOO變量沒有解釋。

我可以通過執行以下操作,再次導出PS1來解決此問題。但我希望能夠在一條線上完成:

[[email protected] ]$ echo $FOO 
foo 
[[email protected] ]$ export PS1="[$FOO]$ " 
[foo]$ export FOO=bla 
[bla]$ 

這可以在一行中完成嗎?

回答

31

你需要添加反斜線得到它在FOO分配新建分配FY的時間,但評估PS1期間評估沒有,所以做:代替

export PS1="[\$FOO]$ " 

export PS1="[$FOO]$ " 

注意\之前的$FOO

+0

你可以在'''FOO''變量中有字符轉義嗎? – Plamen

+1

或將提示放在單引號中:'export PS1 ='[$ FOO] $'' – Gary