我在OS X(10.5.7)终端中破坏了我的Bash Shell提示符。
这是我配置的PS1:
PS1='\[\e[1;32m\]\h\[\e[0m\]:\[\e[1;34m\]\w\[\e[0m\]\$ '
据我所知,我已经正确地转义了颜色命令。但是当我在命令历史记录中上下滚动时,如果历史命令换行成多行,则经常出现换行问题。我将提示简化为以下内容:
PS1='\[\e[1m\]\h:\w\$ \[\e[0m\]'
PS2='> '
我仍然看到如下内容:
localhost:~/Library/Application Support/Firefox/Profiles/knpmxpup.Defau lt/extensions/{1A2D0EC4-75F5-4c91-89C4-3656F6E44B68}$ expocd \{1A2D0EC4-7 5F5-4c91-89C4-3656F6E export PS1="\[ \e[1;32m\]\h\[\e[0m\]: cd Library/Appl ication\ Support/
我也尝试了将\e
替换为\033
,上面的PS2只是提供信息,我没有改变它的默认安装。如果我完全删除颜色代码,那么一切正常工作,有什么想法吗?
$TERM
是什么?如果我没记错的话,Terminal.app的终端仿真并不完全匹配终端数据库中的任何内容,但dtterm
很接近。 - ephemientTERM=dtterm
仍然出现问题(可以在终端的某个设置中进行配置),那么我不知道了。我已经好几年没有接触过 OS X 了。 - ephemient