\[ と \] は必要ですか?

\[ と \] は必要ですか?

インターネットからこの bash プロンプト構成を見つけました:

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

文書には次のように書かれています:

\[\]内部のコンテンツが印刷可能ではないこと (制御文字) を通知するために使用されます。

上記のプロンプトから\[と をすべて削除すると、次のようになります。\]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履歴 (または)を検索してみましたか? 行が長くなると、正しい長さがわからない場合にプロンプ​​トが上書きされる可能性があります。

関連情報