PS1 问题,cmd 正在循环

PS1 问题,cmd 正在循环

我已设置PS1为以下值:

PS1="\033[0;37m[\033[1;33m\w\033[0;37m]\n\t \[[34m\]\u\033[0;37m@\[[34m\]\[[1m\]\h\[(B[m\] $"

问题是任何超过一行的命令都会循环并且不会生成新行。所以我覆盖了已经输入的行。有什么问题PS1

答案1

提示符中的非打印字符需要被\[and包围\],这样 bash 才能正确跟踪提示符的长度并容纳超出终端边缘的行。

相关内容