Bash や Zsh 向け。POSIX sh だとたぶん出来ない。
Bash の例
まず Bash,これは次のように環境変数を設定すれば良い
だがしかしミリ秒やマイクロ秒といった単位は使えないのか
次に Zsh。
-i 以外にも様々なオプションがあり,
-d オプションは日付しか出さないが,-f を加えるとアメリカ式で年月日も表示する。
Bash のように好きなフォーマットで出力するには,
history で指定できる他のオプションは,
Bash の例
20 2017-10-23 18:30:54 echo $PATH | sed -e 's/:/\n/g'Zsh の例
21 2017-10-23 18:30:54 uname -a
22 2017-10-23 18:30:54 exit
23 2017-10-23 18:30:56 cd
24 2017-10-23 18:31:04 HISTTIMEFORMAT='%F %T '
25 2017-10-23 18:31:06 history
16384 2017-10-23 18:37:02 popdではどうやってやるか紹介。
16385 2017-10-23 18:38:30 ls
16386 2017-10-23 18:38:31 pwd
16387 2017-10-23 18:38:34 cd Desktop
16388 2017-10-23 18:38:37 cd
16389 2017-10-23 18:38:39 exit
まず Bash,これは次のように環境変数を設定すれば良い
export HISTTIMEFORMAT="%F %T "この環境変数は日時以外も色々文字列を埋めることができる。ここで使える書式指定子は,おおむね
strftime(3)
に従っているのでこれの man page を見ると良い。だがしかしミリ秒やマイクロ秒といった単位は使えないのか
%L
や %N
は無視される……。次に Zsh。
setopt extended_historyこれを .zshrc に書けば,
history
コマンドを使うときに,history -ian zshbuiltinan zshbuiltinなどオプションを與えることで実行時間が出てくる。
-i 以外にも様々なオプションがあり,
-d オプションは日付しか出さないが,-f を加えるとアメリカ式で年月日も表示する。
Bash のように好きなフォーマットで出力するには,
history -t "%F %T "のように -t オプションに
strftime(3)
に準じる書式指定子を埋めたフォーマット文字列を渡せば良い。常にこの表示が好ましいなら alias を設定すると良いと思われる。history で指定できる他のオプションは,
man 1 zshbuiltins
にて fc
コマンドのオプション一覧を見ると良い。