\e[38;5;175m 和 \[\e[38;5;175m\] 与 bash 颜色有何区别?

\e[38;5;175m 和 \[\e[38;5;175m\] 与 bash 颜色有何区别?

我一直在尝试学习如何自定义我的 shell,并且我遇到了两种在 Bash shell 中指定颜色的不同方法。它们似乎都实现了相同的目标,我不确定它们之间有什么区别(如果有的话)。周围的 [ 和 ] 有什么作用?

例子:

# colors!
red="\e[38;5;196m"
lightMagenta="\[\e[38;5;175m\]"
reset="\[\033[0m\]"

# Change command prompt
source ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1="$lightMagenta\u@\h$green\$(__git_ps1)$red \W $ $reset"

任何见解都将不胜感激。

谢谢你!

答案1

我找到了一个关于Bash 提示符自定义说的是:

\[ \]Bash 手册页建议将[终端转义序列] 换行。这有助于 Bash 忽略不可打印的字符,以便正确计算提示符的大小。

相关内容