kani’s diary

個人的なただの備忘録

bashのプロンプトの見た目変更

最近見た目をいじる機会があり、エスケープ文字の読み方に慣れなかったのでメモ。

を参考に設定を行った。

 

 

最終的に

\[\e]0; \u@\h: \w\a\]\[\033[35m\]\t\[\033[m\] \[\033[32m\][\w]\[\033[0m\]\n\[\033[1;36m\]\u\[\033[1;33m\]-> \[\033[0m\]

これになった。

以下、詳細。

文字列意味
\[ 表示されない文字列(エスケープシーケンス/端末制御シーケンス)を埋め込む
\] 表示されない文字列の終わり
\e ASCIIのエスケープ文字(ESC)を表示する
\033 ASCIIのエスケープ文字(ESC)を表示する
\u 現在のユーザー名を表示する
\h ホスト名のうち最初の「.」までの部分を表示する
\w 現在の作業ディレクトリを、ユーザーのホームディレクトリからの絶対パスで表示する
\a ASCIIのベル文字(BEL)を表示する
\t 現在の時刻を24時間の「HH:MM:SS」形式で表示する
\n 改行する
\e] ESC ] という意味。Operating System Command(OSC)シーケンスの開始
OSC 0 ; Pt BEL ウィンドウタイトルを Pt に変更する。
\[\e]0; \u@\h: \w\a\] ウィンドウタイトルを\u@\h: \wに対応する文字列に変更する。
\033[ ESC [ という意味。CSIシーケンスの開始
CSI Pm m 文字属性をPmに設定する。省略時の Pm の値は 0。文字属性は";"で区切る事によって複数指定出来る。
\[\033[35m\] 文字色を赤紫に設定する。
\[\033[m\] すべての文字設定を解除する。
\[\033[0m\] すべての文字設定を解除する。
\[\033[32m\] 文字色を緑に設定する。
\[\033[1;36m\] 太字属性を設定し、文字色を水色に設定する。
\[\033[1;33m\] 太字属性を設定し、文字色を黄色に設定する。