Bash プロンプト色変更
本番環境だと気付かずに事故を起こしてしまったあのときの自分へ。
前提となる要素
Bash 設定ファイル
Bash の設定対象は .bashrc
か .bash_profile
です。
どちらに設定しても最終的に読み込まれれば問題はありませんが、念のため仕様を調べてみます。
Man や他のサイトの解説を読むと、以下のような使い分けをするようです。
上記を踏まえ、今回は .bashrc
に設定を書き込みます。
プロンプト変数
PS1
はデフォルトでホスト名やカレントディレクトリが表示される変数です。
また、PS2
はコマンドが複数行に渡った場合の2行目以降の >
を表します。
設定変更
色一覧
セミコロン左側の数字は文字をボールドにするかどうかのフラグで、右側の31~37は文字の色を示しています。記載はしていませんが41~47にすると背景色の変更ができます。
また、太字にすると同じ色コードでも明るく表示されます。
Black 0;30 Dark Gray 1;30 Red 0;31 Light Red 1;31 Green 0;32 Light Green 1;32 Brown 0;33 Yellow 1;33 Blue 0;34 Light Blue 1;34 Purple 0;35 Light Purple 1;35 Cyan 0;36 Light Cyan 1;36 Light Gray 0;37 White 1;37
設定例
~/.bashrc
の末尾に以下のような行を追記します。
プロンプトまでを赤文字にする場合
export PS1="\[\e[0;31m\][\u@\h \W]\\$ \[\e[m\]" export PS2="\[\e[0;31m\]> \[\e[m\]"
(表示例)
[root@localhost ~]# echo Hello \ > World
ホスト名だけを赤い太字にする場合
export PS1="[\u@\[\e[1;31m\]\h\[\e[m\] \W]\\$ "
(表示例)
[root@localhost ~]# echo Hello \ > World
設定の読み込み
最後に設定ファイルを読み込みます。一度ログアウトして再度ログインをしても同じ結果が得られます。
# source ~/.bashrc
今回は事故を起こさないための色変更が目的なため、特殊文字のそれぞれの意味については参考サイトを参照ください。