Bashのプロンプト変更

More than 5 years have passed since last update.

残さないと分からなくなるので、いくつかのパターンをメモ


変更方法

PS1変数に代入されている

常に使うのであれば、~/.bashrcに書いとけ!


サンプル


赤文字で、カレントディレクトリ/ホスト名 時刻を表示

PS1="\[\033[0;31m\][\W/\h \t]\$ "

[~/www 17:08:50]$


日付時刻を表示(dateを実行)

PS1="[\$(date)]\$ "

[2013年 5月30日 木曜日 17時28分22秒 JST]$


リファレンス


エスケープ文字

エスケープ文字
意味

\a
ASCIIベル(07)

\d
日付

\e
ASCIIエスケープ文字(033)

\h
ホスト名

\H
FQDN名

\n
改行

\r
復帰

\s
シェル名

\t
時刻 HH:MM:SS形式(24時間)

\T
時刻 HH:MM:SS形式(12時間)

\@
時刻 am/pm付き

\u
ユーザー

\v
bashバージョン

\V
bashバージョン・リリース番号

\w
現在のディレクトリ(フルパス)

\W
現在のディレクトリ(ベース名)

\!
コマンドのヒストリー番号

\#
コマンドのコマンド番号

\$
UIDが0であれば"#"、それ以外は"$"

\nnn
8進数nnnに対応する文字

\\
バックスラッシュ

\[
表示されない文字列エスケープシーケンスを埋め込む

\]
表示されない文字列の終わり


文字色変更


コード

Black
0;30

Red
0;31

Green
0;32

Brown
0;33

Blue
0;34

Purple
0;35

Cyan
0;36

Light Gray
0;37

Dark Gray
1;30

Light Red
1;31

Light Green
1;32

Yellow
1;33

Light Blue
1;34

Light Purple
1;35

Light Cyan
1;36

White
1;37

※参考

Bash Prompt HOWTO