
Linuxのプロンプト表示をカスタマイズできることを知ったので備忘録記事にしました。
やりたいこと
今回実現したいのは次のプロンプトです。
Bash
[hogehoge@kusanagi71 23:38:00 ~]#標準のプロンプトに24時間表記の現在時刻を表示します。
設定には2つのパターンがあり、1つは恒久的に保持する設定と、もう1つは現セッションに限り有効で、ログアウトや再起動で破棄される設定があります。
恒久保持設定
まず~/.bashrcを編集します。
rootで操作している場合は/root/.bashrc、ユーザーの場合は/home/${ユーザー名}です。
最下行に次の記述を追記します。
Bash
PS1="[u@h t W]$ "
設定後、すぐに反映されるのでターミナルを開き直します。
すると、下のようなプロンプトになります。
Bash
[hogehoge@kusanagi71 23:50:35 ~]#
[hogehoge@kusanagi71 23:50:36 ~]#
[hogehoge@kusanagi71 23:50:37 ~]#
[hogehoge@kusanagi71 23:50:39 ~]#
[hogehoge@kusanagi71 23:50:40 ~]#
[hogehoge@kusanagi71 23:50:41 ~]#
ログアウトするまで保持
まず~/.bashrcを編集します。
rootで操作している場合は/root/.bashrc、ユーザーの場合は/home/${ユーザー名}です。
最下行に次の記述を追記します。
Bash
export PS1="[u@h t W]$ "
その他
緑文字でカレントディレクトリ/ホスト名 時刻(24時間)を表示
Bash
PS1="\[\033[0;32m\][\W / \t]$ "日付と時刻を表示
Bash
PS1="[$(date)]$ "リファレンス
エスケープ文字
Plaintext
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があれば"#"、それ以外は"$"
nnn 8進数nnnに対応する文字
[ 表示されない文字列エスケープシーケンスを埋め込む
] 表示されない文字列の終わり
バックスラッシュ
文字色変更
Plaintext
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



コメント