シェルプロンプトの正しい色分け設定

シェルプロンプトの色分けを正しく行う方法メモ。



[@host_name /current/directory]$ と表示する方法


上記のような表示を行う必要最低限な記述は下記の通りです。


$ vi ~/.bashrc

export PS1="\[\e[33;1m\][@\h \w]\$\[\e[m\] " # この行を最後に追記

$ source ~/.bashrc # 編集した .bashrc の有効化


意味解説


\e[{色の設定}m

色分けしたい文字の先頭に付ける記号。今回の色の設定は 33;1 です。この意味は続いて説明します。


\e[m

色分けしたい文字の末尾に付ける記号。


\h

ホスト名。


\w

カレントディレクトリ。


\$

単なるドル記号ではなく、一般ユーザーならドル記号、rootユーザーならシャープ記号、になります。


33;1

文字色(先頭の3)を黄色(真ん中の3)にして、太字(最後の1)にする、という指定。


\[ \]

色指定の制御文字を\[と\]ではさまないと、長いコマンドを入力したときの改行がおかしくなります。



参考リンク


下記のリンクがむちゃくちゃ参考になります。


シェル - echoで文字に色をつける その1



まとめ


ネットで見つけた間違った指定を今まで書いてたんですが、正しく書き直したらすっきり短くなったのでよかったです。


\] とか \e[00m (閉じる方)みたいな書き方は意味ないっぽいのでご注意ください…。

著者プロフィール
Webサイトをいくつか作っています。
著者プロフィール