\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 忽略不可列印的字符,以便正確計算提示符的大小。

相關內容