解决修改 Bash Prompt 后翻阅历史命令时显示错位
💡
原文中文,约600字,阅读约需2分钟。
📝
内容提要
修改 Bash 提示符后,使用上下方向键翻阅历史命令时可能出现错位。解决方法是将不可见字符用 \[\] 包裹,例如:PS1=\[\e[32m\]\$\[\e[0m\],这样可以避免 Bash 计算这些字符的长度,从而解决显示问题。
🎯
关键要点
-
修改 PS1 变量后,使用上下方向键翻阅历史命令时可能出现命令覆盖提示符的情况。
-
解决方法是将不可见字符用 \[\] 包裹,例如:PS1=\[\e[32m\]\$\[\e[0m\]。
-
Bash 在覆盖当前行时会计算提示符的长度,包括不可见字符。
-
\[\] 的作用是让 Bash 不计算这些不可见字符的长度。
➡️