LoginSignup
170
140

More than 5 years have passed since last update.

Bashプロンプトの変更

Last updated at Posted at 2015-11-20

サーバを複数台管理していると、どこにログインしているかわからなくなります。

プロンプトには通常ホスト名が表示されるようになっていますが、クラウド環境などだと、自動的にアサインされた覚えにくい名前になっていたりするので、分かりやすい名前に変更したい場合があります。

環境

私はMacとLinux(CentOS)を使うことがほとんどなのでbashにします。
bash以外だと方法が違うので、適宜調べて下さい。

今の状態の確認

プロンプトの表示フォーマットはbashでは、PS1という環境変数に入っていますので、その形式を表示してみます。

echo "$PS1"
[\u@\h \W]\$

環境によっても違いますが、多くの場合、上記の様になっています。
意味は、

  • \u : ユーザー名
  • \h : ホスト名
  • \W : 今いるディレクトリ名
  • \$ : 一般ユーザーの時$,rootの時#を表示

というものです。@等は、普通に表示されます。
上記の場合、

[hoge@hostname ~]$

という感じで表示されます。
ローカル環境で、OSのhostname等を自由に変更できる場合などはいいのですが、クラウド環境や変更できない場合は静的に変更してやります。と入っても、ハードコーディングするだけなので、難しくありません。

変更する

まず、変更したいのは、基本ホスト名だけです。あと、今いるディレクトリをフルパスで表示するようにしてみます。ここで、ホスト名をTEST_SERVERとしたいとします。

やりたい形式

[hoge@TEST_SERVER /var/www/html]$

表示のためのフォーマット

[\u@TEST_SERVER \w]$

最終的には.bashrcに設定を記述すればいいのですが、まずは一時的に試してみます。

export PS1="[\u@TEST_SERVER \w]$"

とすると瞬時にかわります。パターンが気に入らない場合は、いろいろといじってみるといいでしょう。

ただ、この場合、コンソールを閉じて、新しいコンソールを開くと、デフォルトの状態に戻ります。永続化したい場合は、上記の記述を.bashrcに記述します。

vi .bashrc

記述が終わったら、

source .bashrc

を実行し、値を反映させます。

なお、色も変えることができます。
色の指定は[\e[色指定m]というフォーマットで行います。

host名を別の色にして強調したい場合などは、

export PS1="[\u@\[\e[1;33m\]TEST_SERVER \[\e[m\]\w]$"

などとします。この場合、host名が黄色になります。
色は、指定した箇所から以下の以降の文字列全てに適用されるので、[e[m](色指定無し)でリセットします。

色コードは、

    m   指定なし
0;30m   Black
0;31m   Red
0;32m   Green
0;33m   Yellow
0;34m   Blue
0;35m   Purple
0;36m   Cyan
0;37m   White

という感じです。

どの色にしても、ケバケバしいので、強調は白を使えばいいでしょう。

export PS1="[\u@\[\e[1;37m\]TEST_SERVER \[\e[m\]\w]$"

参考

おまけ

プロンプトに絵文字を入れる

まず、絵文字が表示されるかどうかチェック。

echo -e '\U1F439'

表示できるようなら、下記のようにする。
``で囲むことで変数内でコマンドの実行が可能なります。あとは、\hなどと組み合わせます。

export PS1=`echo -e '\U1F439 '`" \h:\W $ "

Macでは、絵文字はcontrol + command + spaceで表示できるので、好きな絵文字を右クリックして、ユニコードを取得し変更します。
形式はU+xxxxの形式になっているので、\Uxxxxxと直してあげます。以上。

170
140
1

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
170
140