3

によるとman bashPS1環境変数 (シェル プロンプトの定義) で:

\[     begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
\]     end a sequence of non-printing characters

そして、私が見たさまざまな例によると、非印刷文字シーケンスを\[andで囲むことになっ\]ていますが、それらを含めても違いはないようです!

例えば:

export PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n[\t]\$ '

以下と同じように動作するようです:

export PS1='\e]0;\w\a\n\e[32m\u@\h \e[33m\w\e[0m\n[\t]$ '

(つまり、同じですが、\[とが\]削除されています)。

では、このように一連の非印刷文字を囲むことの利点は何でしょうか? 非印刷文字を無視できるように、ダム端末に出力するとき(私が行う必要はありません)ですか?(おそらくPS1、非対話型セッションでは無視されるため、スクリプトを作成する場合には使用できないと思います。)

4

0 に答える 0