bash 颜色设置搞砸了
bash color settings messing something up
blue="3[38;5;32m\]3[48;5;256m\]"
purple="3[38;5;198m\]"
green="\[3[0;32m\]"
reset="\[3[0m\]"
export PS1="$purple\u$green$(__git_ps1)$blue \W $ $reset"
如果使用更简单的格式设置颜色,如 green
,则一切正常。但是如果它们是使用更复杂的格式设置的,比如 blue
和 purple
,它一开始会工作并且看起来是正确的,但是如果我浏览一些以前的命令等,突然该行会跳到一个非常奇怪的地方,提示文本会消失。
这是怎么回事?
确保用 \[
和 \]
包围转义码。这些标记告诉 bash 这些是非打印字符。
blue="\[3[38;5;32m3[48;5;256m\]"
purple="\[3[38;5;198m\]"
blue="3[38;5;32m\]3[48;5;256m\]"
purple="3[38;5;198m\]"
green="\[3[0;32m\]"
reset="\[3[0m\]"
export PS1="$purple\u$green$(__git_ps1)$blue \W $ $reset"
如果使用更简单的格式设置颜色,如 green
,则一切正常。但是如果它们是使用更复杂的格式设置的,比如 blue
和 purple
,它一开始会工作并且看起来是正确的,但是如果我浏览一些以前的命令等,突然该行会跳到一个非常奇怪的地方,提示文本会消失。
这是怎么回事?
确保用 \[
和 \]
包围转义码。这些标记告诉 bash 这些是非打印字符。
blue="\[3[38;5;32m3[48;5;256m\]"
purple="\[3[38;5;198m\]"