LoginSignup
2

More than 5 years have passed since last update.

サーバごとにターミナルの文字色を変える方法

Last updated at Posted at 2018-10-08

アクセスするサーバを視認しやすくしたい

サーバサイドの仕事をしているとローカルの開発環境、検証環境、本番環境にアクセスすることがあると思います。

うっかり、「本番環境で作業しちゃった(^^;」みたいなことを極力防ぎたいので.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"に設定を用意することで自分がどのサーバにアクセスしているか、もっとわかりやすくなると思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2