我正在自定义我的 bash 提示符(我在 OS X Lion 上使用 iTerm),并尝试过类似的操作:
PS1='\n[\u]-> '
只是为了简单起见,但在重新加载后~/.bash_profile
,我的提示现在说:
\n[\u]->
而不是我所期望的(一个新行,后跟我的用户名)。
有任何想法吗?
shell是如何被调用的?如果是 as sh
,或者可能是其他方式,则不会被解释。尝试echo $0
注意到提示符中的单引号了吗?Bash 语法对单引号和双引号的处理方式不同。使用双引号允许 shell 扩展特殊字符。
还有,你promptvars
定了吗?
尝试用双引号替换单引号,即PS1="\n[\u]-> "
.