Mac OS X bash 提示符有错误?

Mac OS X bash 提示符有错误?

我正在尝试设置我的 bash 提示符以粗体显示时间和当前目录:

export PS1="\[\e[1m\][\A] \w \$ \[\e[0m\]"

这显然是有效的,但是当我使用命令历史记录(ctrl-r)时,找到我正在搜索的命令并按回车键后,此行无法正确显示。以下是示例:

[21:58] ~/Wyona/svn-repos/zwischengas $ 
(reverse-i-search)`ta': tail -F logs/log4j-cnode1.log

按下回车键后,变为:

[21:58] ~/Wyona/svn-repos/zwischengas $  -F logs/log4j-cnode1.log

当然,这不是“真正”的问题,因为命令确实正常工作,但它仍然很烦人。有人知道为什么会发生这种情况吗?更重要的是,如何预防/修复它?

答案1

我可以使用 10.5.0 到 10.6.4 上的系统 bash 重现此问题,这似乎是 bash 3.x 中的一个错误。

看:http://osdir.com/ml/bug-bash-gnu/2009-07/msg00021.html

安装一个新的、更新的 bash (4.x)(我喜欢的路径是 Homebrew,可以在 github 上找到),它应该被修复(对我来说是的)。

答案2

我也看到了这个问题,并通过跳转到“首选项”>“设置”>“[无论哪一个是默认值]”>“高级”并将“将终端声明为”设置为“xterm-256color”,然后重新启动终端来修复它。

相关内容