我定制我的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