我定製我的bash提示符(我用的iTerm在OS X Lion中),並嘗試類似:Bash提示符無法識別變量
PS1='\n[\u]-> '
只是爲了簡單,但重裝我~/.bash_profile
,我的提示後現在說:
\n[\u]->
而不是我期待的(一個新行,後面跟着我的用戶名)。
任何想法?
我定製我的bash提示符(我用的iTerm在OS X Lion中),並嘗試類似:Bash提示符無法識別變量
PS1='\n[\u]-> '
只是爲了簡單,但重裝我~/.bash_profile
,我的提示後現在說:
\n[\u]->
而不是我期待的(一個新行,後面跟着我的用戶名)。
任何想法?
如何調用shell?如果它是sh
,或其他可能的方式,它不會被解釋。嘗試echo $0
'echo $ SHELL'怎麼辦? ;)...沒關係,我明白了......'$ 0'是爲懶惰的人。 – 0xC0000022L 2012-03-06 18:31:31
本週末我用zsh玩過,但是我只想用bash。我想這就是我的問題。當我運行'echo $ 0'時,它返回'-zsh'。 – Connor 2012-03-06 18:32:57
@STATUS_ACCESS_DENIED其實,我測試過,他們給出了不同的結果。 '$ 0'是'sh','$ SHELL'是'/ bin/bash'。 – Kevin 2012-03-06 18:34:31
注意提示中的單引號? Bash syntax不同地處理單引號和雙引號。使用雙引號允許shell擴展特殊字符。
另外,你有promptvars
集?
不是真的在這種情況下。這不是經典變量,而是「特殊」變量。在我嘗試之前,我認爲這是一樣的。 – 0xC0000022L 2012-03-06 18:30:52
不可以,變量的設置與單或雙相同,在打印完成之前不會被解釋。 – Kevin 2012-03-06 18:33:17
@Kevin我知道解釋發生在打印時間。但[根據這個](http://ss64.com/bash/syntax-prompt.html)和BASH手冊頁,提示符*會*通過報價擴展。 – 2012-03-06 18:41:37
嘗試'chsh',可能也適用於Mac。 – 0xC0000022L 2012-03-06 18:36:48