2006年02月24日(金) [過去の今日]
#1 timeのフォーマット
最近、timeコマンドがbashの場合シェルの組込になってる事に気付いた。 /bin/shを使ってると/usr/bin/timeに入ってるGNU timeが使われるのだが、これの書式が見にくくてしょうがない。
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
普通にPOSIXフォーマットで出力させるには-pオプションが必要なようだが、どうにかしてこれをデフォルトにできないものだろうか。 manpageを見たりソースをgrepしたりしてみたのだが、設定ファイルの類が見当たらぬ。
で、よく探してみると付属のtime.htmlに環境変数TIMEにフォーマットを記述しておけばいいらしいことがわかった。しかしPOSIXとか書いておいても無駄みたい。ちゃんとフォーマットを書かなければならないらしい。
/* The output format for the -p option .*/ static const char *const posix_format = "real %e\nuser %U\nsys %S";
time.cに以上の記述があるので、
TIME='real %e\nuser %U\nsys %S'
としてみたら、ちゃんとPOSIXフォーマットで出力された。 /bin/shからちゃんと見えるように、~/.profileにでも書いておくべきか。むしろこれがデフォルトであるべきな気がするんだが。/etc/profileに記述しておいてくれてもよさそうな。
(@142)