本番機に入ってる時には prompt を赤くしたりホスト名を表示するなどして、注意喚起したいですよね。
例
RED="0;31"
START_COLOR="\[\e[${RED}m\]"
END_COLOR="\[\e[0m\]"
export PS1="[\u@${START_COLOR}FRONT-PRODUCTION${END_COLOR}(\h) \W]\$ "
解説
prompt の上書き
環境変数 PS1
を上書きます。
export PS!="...."
してください。ダブルクォート("
)で囲わないと、変数(${COLOR}
)が使えないのでご注意。
デフォルトは以下です。
PS1=”[\u@\h:\w]\$ ”
こちらを .bashrc
または .profile
.bash_profile
辺りに記述します。
記述後は、再読み込みも忘れずに。
$ source ~/.bashrc
or
$ . ~/.bashrc
特殊文字
予め bash
に定義された特殊文字を使うと、環境に応じた変数が表示されます。
表記 | 内容 |
---|---|
\u |
ログインユーザ名 |
\h |
ホスト名(最初の. まで) |
\H |
ホスト名(フル) |
\w |
現在の作業ディレクトリ(絶対パス) |
\W |
現在の作業ディレクトリ(最後の箇所だけ) |
\$ |
prompt の最後の $ の部分ROOTユーザの場合は # になる |
\d |
曜日+日付(例: Fri Jan 5 ) |
\t |
HH:MM:SS(24時間) |
\T |
HH:MM:SS(12時間) |
色のつけかた
色をつけたい箇所を、以下の文字列で挟みます。
START_COLOR="\[\e[${COLOR}m\]"
END_COLOR="\[\e[0m\]"
※ [
が2箇所にあるので、注意してください
正確には、\[\]
で色のコードを挟みます。これは非表示文字のシーケンスを使いたい時の宣言です。
\e[0m
は色のリセットをするコードです。
色コードの定義は以下の通り。
色 | 番号 | コード |
---|---|---|
黒 | 0;30 | \e[0;30m |
赤 | 0;31 | \e[0;31m |
緑 | 0;32 | \e[0;32m |
黄 | 0;33 | \e[0;33m |
青 | 0;34 | \e[0;34m |
紫 | 0;35 | \e[0;35m |
シアン | 0;36 | \e[0;36m |
白 | 0;37 | \e[0;37m |
リセット | 0 | \e[0m |
参考
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/002cngprmpt.html
https://wiki.archlinux.org/index.php/Color_Bash_Prompt