1 我已设置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? command-line bash ps1 — Runar source 这甚至不是一个有效的命令,bash等待更多的输入
6 提示中的非打印字符需要被包围\[,\]以便bash可以正确跟踪提示的长度并容纳超出终端边缘的行。 — Ignacio Vazquez-Abrams source 所以我应该在行前后添加哪些部分? — Runar 您可以根据需要在不打印的部件之前和之后添加它。 — Ignacio Vazquez-Abrams 但该行会打印,但是当我输入一个长命令时它会循环播放。 — Runar 性状。再试一次。 — Ignacio Vazquez-Abrams 非常感谢!它现在工作:)PS1="\033[0;37m[\033[1;33m\[\w\]\033[0;37m]\[\n\]\[\t\] \[${tRandColor}\]\[\u\]\033[0;37m@\[${tRandColor}\]\[${tBold}\]\[\h\]\[${tReset}\] \$ — Runar