blue="\033[38;5;32m\]\033[48;5;256m\]"
purple="\033[38;5;198m\]"
green="\[\033[0;32m\]"
reset="\[\033[0m\]"
export PS1="$purple\u$green\$(__git_ps1)$blue \W $ $reset"
如果使用更简单的格式设置颜色,就像green
一样,一切都会正常工作。但是,如果他们使用blue
和purple
中更复杂的格式进行设置,那么它首先会工作并且看起来正确,但如果我突然浏览一些先前的命令等等跳进一个非常奇怪的地方,提示文字就会消失。
这里发生了什么?
答案 0 :(得分:3)
确保使用\[
和\]
包围转义码。这些标记告诉bash这些是非打印字符。
blue="\[\033[38;5;32m\033[48;5;256m\]"
purple="\[\033[38;5;198m\]"