需要 \[ 和 \] 嗎?

需要 \[ 和 \] 嗎?

我從網路上看到這個 bash 提示配置:

PS1="\[\e[0m\]\[\e[0;92m\]\u\[\e[91m\]@\[\e[93m\]\h\[\e[0m\]:\[\e[0;94m\]\w\[\033[1;30m\]\[\e[0m\]$ "

正如文件所說:

\[\]用於注意到裡面的內容不可列印(控製字元)。

當我從上面的提示中刪除所有的\[and時,變成:\]PS1

PS1="\e[0m\e[0;92m\u\e[91m@\e[93m\h\e[0m:\e[0;94m\w\033[1;30m\e[0m$ "

而且它仍然有效!那麼,需要\[\]?如果我將它們全部刪除,會有什麼不同?

答案1

您是否嘗試過搜尋您的歷史記錄(Ctrl+P)?一旦該行變長,如果它不知道其正確長度,它可以覆蓋提示。

相關內容