○ shellプロンプトのカラー化

・shellプロンプトのカラー化

・複数のマシンに同時にアクセスする場合、マシン毎に表示色を変えます
・スクリプトをつくり、.bash_profileで読みこみます
・venus,mars,earth はマシンのホスト名です

:$HOME/bin/hostcolor.sh

basePS='[\u@\h:\w]\$ '
case $(hostname -s) in
    venus ) col='1;31' ;;
    mars ) col='0;33' ;;
    earth ) col='0' ;;
    * ) col='0' ;;
esac
export PS1="\[\e[${col}m\]${basePS}\[\e[0m\]"

:$HOME/.bash_profile

・$HOME/binにパスを通しています

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export PATH

. hostcolor.sh

・カラーコード

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37

・プロンプトで使用できる "バックスラッシュでエスケープされた各種特殊文字"

\a     ASCII のベル文字 (07)
\d     "曜日 月 日" という形式の日付 (例: "Tue May 26")
\e     ASCII のエスケープ文字 (033)
\h     ホスト名のうち最初の ‘.’ までの部分
\H     ホスト名
\j     シェルによって現在管理されているジョブの数
\l     シェルの端末デバイスのベース名 (basename)
\n     改行
\r     復帰
\s     シェルの名前。つまり $0 のベース名 (最後のスラッシュ以降の部分)
\t     24 時間の HH:MM:SS 形式の現在の時刻
\T     12 時間の HH:MM:SS 形式の現在の時刻
\@     12 時間の HH:MM am/pm 形式の現在の時刻
\u     現在のユーザのユーザ名
\v     bash のバージョン (例: 2.00)
\V     bash のリリース。バージョンにパッチレベルを加えたもの (例: 2.00.0)
\w     現在の作業ディレクトリ
\W     現在の作業ディレクトリのベース名
\!     このコマンドの履歴番号
\#     このコマンドのコマンド番号
\$     実効 UID が 0 の場合に #、それ以外の場合は $
\nnn   8進数 nnn に対応する文字
\\     バックスラッシュ
\[     非表示文字のシーケンスの開始。プロンプト中に端末の制御シーケンスを埋め込む
\]     非表示文字のシーケンスを終了します。

○ Copyright(c) 528p.com All Rights Reserved.