Bash PS1 在浏览历史记录后消失

Bash PS1 在浏览历史记录后消失

我一直在配置我新安装的 Arch。我刚刚PS1在 Bash 中完成了配置,然后发现了一个我不知道如何解决的错误。

这是代码:

PS1='\n\[\e[30;44m \u@\h \]\[\e[34;45m\]\[\e[30;45m \w \]\[\e[35;46m\]\[\e[30;46m $(__git_ps1 "(%s)") \]\[\e[0;36m\]\[\e[0m\]\n\[\e[0;42m \# \]\[\e[32;41m\]\[\e[0;41m \$ \]\[\e[0;31m\]\[\e[0m\] '

我得到了这个:

我的 PS1 配置(视觉)

然后我继续配置时间并意识到如果我使用向上箭头键或向下箭头键(浏览历史记录)两次,我会得到以下信息:

我的 PS1 错误(图片)

进行递归搜索时也会发生这种情况:

我的 PS1 错误 2(视觉)

答案1

正如 @KamilMaciorowski 所说,我只需要将显示的内容从\[和中取出\],所以现在我的 PS1 看起来像这样:

PS1='\n\[\e[30;44m\] \u@\h \[\e[34;45m\]\[\e[30;45m\] \w \[\e[35;46m\]\[\e[30;46m\] $(__git_ps1 "(%s)") \[\e[0;36m\]\[\e[0m\]\n\[\e[0;42m\] \# \[\e[32;41m\]\[\e[0;41m\] \$ \[\e[0;31m\]\[\e[0m\] '

相关内容