Bash 提示换行问题

Bash Prompt Wrapping Issue

我似乎 运行 使用我的自定义 Bash 提示符,与此处的提示符非常相似:

Bash prompt line wrapping issue

我认为转义可能是我的问题(如上文 url 中所述)我已经尝试移动东西并移除我的括号,但所做的只是弄乱了我的 bash 迅速的。有人可以帮忙吗:

"What! \[\e[1;33m\]\w\[\e[m\]\[\e[37m\]$(parse_git_branch)\[3[00m\] \e[m\]$ "

所有非打印段都必须被\[...\]包围,所有打印段必须而不是被包围。

你至少有一个 space 在 \[...\] 内接近尾声。

您还有大量未关闭的\[(计算您的匹配对)。

对颜色代码本身使用变量(如在链接的问题中)将简化查看提示本身需要转义的位置。 (尽管链接的问题也将提示符转义到变量中,这让我有点难以理解正在发生的事情。)