Bashのプロンプト変更

  • 64
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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

変更方法

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