解决修改 Bash Prompt 后翻阅历史命令时显示错位

💡 原文中文,约600字,阅读约需2分钟。
📝

内容提要

修改 Bash 提示符后,使用上下方向键翻阅历史命令时可能出现错位。解决方法是将不可见字符用 \[\] 包裹,例如:PS1=\[\e[32m\]\$\[\e[0m\],这样可以避免 Bash 计算这些字符的长度,从而解决显示问题。

🎯

关键要点

  • 修改 PS1 变量后,使用上下方向键翻阅历史命令时可能出现命令覆盖提示符的情况。

  • 解决方法是将不可见字符用 \[\] 包裹,例如:PS1=\[\e[32m\]\$\[\e[0m\]。

  • Bash 在覆盖当前行时会计算提示符的长度,包括不可见字符。

  • \[\] 的作用是让 Bash 不计算这些不可见字符的长度。

➡️

继续阅读