bash颜色设置弄乱了一些东西

时间:2015-01-06 16:39:09

标签: bash ps1

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一样,一切都会正常工作。但是,如果他们使用bluepurple中更复杂的格式进行设置,那么它首先会工作并且看起来正确,但如果我突然浏览一些先前的命令等等跳进一个非常奇怪的地方,提示文字就会消失。

这里发生了什么?

1 个答案:

答案 0 :(得分:3)

确保使用\[\]包围转义码。这些标记告诉bash这些是非打印字符。

blue="\[\033[38;5;32m\033[48;5;256m\]"
purple="\[\033[38;5;198m\]"