Macのターミナルのインプットは以下の形式で表示する
{ホスト名}:{現在のディレクトリ}{スペース}{ユーザー名}${スペース}
このままでもいいのだがこれを変更したい
その場合 PS1 環境変数を設定してあげることで変更可能
表示内容 | 変数 |
ホスト名 | \h |
現在のディレクトリ | \W |
ユーザー名 | \u |
現在の設定を確認したい場合 PS1 環境変数を確認すれば良い
$ echo $PS1
\h:\W \u\$
では、これを
{ユーザー名}@{ホスト名}:{現在のディレクトリ}${スペース}
にしたい場合には環境変数を以下のように設定してあげれば良い
PS1=’\u@\h:\W$ ‘
さらにそれぞれの項目を色分けすることも可能
その場合、PS1環境変数の中で色指定をしたい位置に以下の構文で定義するだけ
\[\e[{$色コード}m\]
赤字部分の \[ と \] で囲み、その中に色指定の青字部分 \e[ と m で囲み、オレンジ字の色コードを定義
さらに、太字や下線などの文字修飾をしたい場合には色コードの前に文字修飾コードを入れてセミコロンで区切ればOK
\[\e[{$文字修飾コード};{$色コード}m\]
例えば以下のように色分けをしたいとする
表示内容 | 変数 | 色 | 色コード |
ホスト名 | \h | 緑 | 32 |
現在のディレクトリ | \W | 青 | 34 |
ユーザー名 | \u | 黄色 | 33 |
その場合、以下のようにPS1を定義してあげれば色付きの表示ができるようになる
PS1=’\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\W\[\e[0m\]\$ ‘
参考までに、色と改行して分解してみると以下の通り
PS1=’
\[\e[0;33m\]\u
\[\e[00m\]@
\[\e[0;32m\]\h
\[\e[00m\]:
\[\e[0;34m\]\W
\[\e[00m\]$
‘
@、: と $ の前の \[\e[00m\] で指定した 00 は色指定をクリアにする時に利用できる
参考
https://www.howtogeek.com/307701/how-to-customize-and-colorize-your-bash-prompt/