bash | プロンプト変更 複数サーバーにログインしたときの混乱よ「サヨナラ」

bashのプロンプト変更は、複数のサーバーを利用している場合にログイン(どのサーバーにいるか)の区別がしやすくなる等の利点があります。

bashのプロンプトをわかりやすく変更したい

色んなサーバーにログインしてたら、わけがわからなくなっちゃって。

慣れれば間違わないけど、作業効率は落ちるかもね。

ログインしたマシンごとに「わかりやすいプロンプト」が表示されればわかりやすいのに。

環境変数 PS1 の設定を変更すれば、表示する文字も色も、簡単に変更できるよ。

プロンプトのデフォルト表記は、以下のような構成です。

ユーザー名@ホスト名:ディレクトリ名 $

プロンプトの表示ルールは、環境変数 PS1 で設定されています。その内容を変更すれば、プロンプトの表示を変更することができます。

プロンプトの変更

実際のPS1の設定です。

$ echo $PS1
 [\e]0;\u@\h: \w\a]${debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[00m]:[\033[01;34m]\w[\033[00m]\$

複雑そうに見えますが、対応している主な表示項目だけみると簡単です。太字でない部分は色の設定です。

主な表示項目

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

色の変更

色の指定は、[\e[色指定m]というルールで設定します。

  • 赤:\e[0;31m\]
  • 青:\e[0;34m\]
  • 黄:\e[0;33m\]

設定の変更

プロンプトの表示を変更する場合は、bashrc などの設定ファイルに記述します。

export PS1="[\w]$ " #ディレクトリ名だけ表示
export PS1="[\e[0;31m]\w]$ " #ディレクトリ名だけ表示(赤)

設定ファイルがロードされると、プロンプトの表示が変更されます。

[デフォルト設定のプロンプト] $ . ~/.bashrc
[指定したプロンプト] $