このコマンドは2つのことを行います。端末ウィンドウのタイトルを設定し、 はbashプロンプトを設定します。ピースによって
export PS1='\e[0;33mmyProject \e[0;32m\[\e]0;\[email protected]\h: \w\a\]${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$\e[0m '
ピース:
export PS1=
これはbashプロンプト含んでPS1変数を設定します。
\e[0;33m
\e
はANSI Escape Codeの開始を意味する制御シーケンスイントロデューサ、あるESC
文字(ASCII =として0x1B)に変換されます。シーケンスの末尾のm
文字は、[
とm
の間のすべてが;
(詳細は、を参照)のSGR(Select Graphic Rendition)パラメータのリストとして解釈されることを示します。 0
は以前のすべてのテキスト書式を消去し、33
はテキストの色を黄色に設定します。
myProject
これは単なるbashプロンプトに文字列myProject
を追加します。
\e[0;32m
これにより、以前のテキスト書式(0)がすべてクリアされ、テキストの色が緑色に設定されます。 (32)
\[ ... \]
\[
は\]
で終了する非印刷文字のシーケンスを開始します。これらの2つの区切り文字の間のすべてがプロンプトで表示されません。
\e]0;\[email protected]\h: \w\a
これは、次のビット
[email protected]: /current/working/directory
のようなものへのターミナルウィンドウのタイトルを設定します:変数$debian_chroot
が定義されている場合
${debian_chroot:+($debian_chroot)}
、この式はと評価されます$debian_chroot
の値。
$debian_chroot
は、/etc/bash.bashrc
に設定された変数です。 This postは私ができるよりもはるかに優れていると説明しています。
\[email protected]\h:\w\$\e[0m
\u
\h
は、コンピュータの名前に評価され、\w
は、現在の作業ディレクトリに評価され、現在のユーザーのユーザー名に評価されます。 \$
はちょうど文字$
です。 bashスクリプトでは、$
という文字は、次の文字が変数の名前であるため、エスケープする必要があります。 \e[0m
は、テキスト書式をデフォルトに戻します。
プロンプトが、端末でどのように見えるかの画像:
完全なスクリプトが行うことになっているものを記述することによって、いくつかの状況を教えてください。 – Yunnosch