シェルプロンプトの色分けを正しく行う方法メモ。
[@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)にする、という指定。
\\[ \\]
色指定の制御文字を\\[と\\]ではさまないと、長いコマンドを入力したときの改行がおかしくなります。
参考リンク
下記のリンクがむちゃくちゃ参考になります。
まとめ
ネットで見つけた間違った指定を今まで書いてたんですが、正しく書き直したらすっきり短くなったのでよかったです。
\\] とか \\e[00m (閉じる方)みたいな書き方は意味ないっぽいのでご注意ください…。