
Linuxプロンプトに年月日時分秒をつける
# general
PS1="[\u@\h \W]\\$ "
[root@mx ~]#
PS1="[\u@\h \W \D{%F %T }]\\$ "
[root@mx ~ 2022-04-27 01:31:35 ]#
PS1="[\u@\h \W \D{%T }]\\$ "
[root@mx ~ 01:33:04 ]#
参考値
\d 日付表示(曜日, 月 , 日)
\D{format} 時間表示。システムコール strfttime(3)のフォーマット文字列で指定
\h ホスト名(ドメインパートを含まない)
\H ホスト名
\j バックグラウンドで起動しているジョブの数
\l 仮想端末の番号(pts/0, pts/1などの数字)
\n 改行(LF)
\r 改行(CR)
\s シェル名(bash)
\t 時刻表示(24時間表示 HH:MM:SS)
\T 時刻表示(12時間表示 HH:MM:SS)
\@ 時刻表示(12時間表示 HH:MM AM/PM)
\A 時刻表示(24時間表示 HH:MM)
\u ユーザ名
\v bashのバージョン
\V bashのバージョン(パッチレベル含む)
\w 現在の作業ディレクトリ(フルパス表示)
\W 現在の作業ディレクトリ(現在のディレクトリ名のみ表示)
\! history上の番号
\# bashが起動してからのコマンド番号
\$ rootの場合には、# となり、それ以外のユーザでは $ となる
\nnn 8進数での文字指定(nは数字)
\\ \そのもの
\[ ターミナル操作用のシーケンス文字列の開始
\] ターミナル操作用のシーケンス文字列の終了
\a ASCIIのベル文字(07)を表示する(ビープ音を鳴らす)
\d 「曜 日 月 日」の形式(例:Fri Jan 5)で日付を表示する
\e ASCIIのエスケープ文字(033)を表示する
\h ホスト名のうち最初の「.」までの部分を表示する
\H ホスト名を表示する
\n 改行する
\r 復帰する
\s シェルの名前を表示する
\t 現在の時刻を24時間の「HH:MM:SS」形式で表示する
\T 現在の時刻を12時間の「HH:MM:SS」形式で表示する
\@ 現在の時刻を12時間の「am/pm」形式で表示する
\u 現在のユーザー名を表示する
\v bashのバージョンを表示する
\V bashのリリースを表示する
\w 現在の作業ディレクトリを、ユーザーのホームディレクトリからの絶対パスで表示する
\W 現在の作業ディレクトリを表示する
\! このコマンドの履歴番号を表示する
\# このコマンドのコマンド番号(現在のシェルのセッション中に実行されたコマンドのシーケンスにおける位置)を表示する
\$ 実効UIDが0の場合に#となり、それ以外の場合に$となる
\nnn 8進数nnnに対応する文字を表示する
\\ バックスラッシュを表示する
\[ 非表示文字のシーケンスを開始する。これを使って、プロンプト中に端末の制御シーケンスを埋め込むことができる
\] 非表示文字のシーケンスを終了する
なんのため?
ログ取得したときに参照するため
TeraTermの標準機能にあるのでは?
ttlマクロを複数同時に起動することができない。(ttlマクロファイルを複数自動Enter実行ログイン)
同じログを参照してしまうことで同時起動できない。
メリット
各ターミナルでログファイルをサーバー別、ユーザ別で同時に作成することができる。
ログファイル単位で何をしたか整理しやすい。