アクセスするサーバを視認しやすくしたい
サーバサイドの仕事をしているとローカルの開発環境、検証環境、本番環境にアクセスすることがあると思います。
うっかり、「本番環境で作業しちゃった(^^;」みたいなことを極力防ぎたいので.bash_profileにターミナルの文字色を設定する方法を調べました。
実装例
.bash_profileに以下を記述
PS1_COLOR_BEGIN="\[\e[1;31m\]"
PS1_COLOR_END="\[\e[m\]"
PS1_HOST_NAME="ShiroUbuntu" #適宜変更
PS1="$PS1_COLOR_BEGIN[\u@$PS1_HOST_NAME\w]\$$PS1_COLOR_END "
変更したら、" source ~/.bash_profile "でリロード
解説
ユーザが今どこにログインしているかの情報は端末内のPS1変数によって設定されています。
この変数を変更することでログイン先をもっとユーザにとってわかりやすくすることが出来ます。
"\u"や"\w"は特殊文字です。
ざっとまとめますと
特殊文字 | 意味 |
---|---|
\s | シェルの名前を表示 |
\u | ユーザ名を表示 |
\w | 作業ディレクトリの絶対パス |
\W | 作業ディレクトリ名のみ |
詳しくはここ
また、文字色は"\[\e[{COLOR_CODE}\]"の形で設定することで、それ移行の文字色を変える事が出来ます。
カラーコードの一部(0->細文字、1->太文字)
カラーコード | 色 |
---|---|
0;30m | 黒 |
0;31m | 赤 |
0;32m | 緑 |
0;33m | 黄色 |
0;34m | 青 |
0;35m | 紫 |
0;36m | シアン |
0;37m | 白 |
今回は"PS1_COLOR_BEGIN"という変数に格納しています。
また、色を未設定にするときには"\[\e[m\]"にすれば良いです。("PS1_COLOR_END"に格納しています。)
つまり、上の例では["ユーザ名"@ShiroUbuntu"作業ディレクトリ"]$
が赤色で表示されます。
まとめ
ざっくりとした説明になってしまいましたが、
アクセスするサーバごとの".bash_profile"に設定を用意することで自分がどのサーバにアクセスしているか、もっとわかりやすくなると思います。