1. ホーム
  2. shell

[解決済み] シェルコマンドの実行時間を表示する

2023-02-13 08:29:08

質問

以下の組み合わせで、シェルコマンドの実行時間を表示することは可能でしょうか?

root@hostname:~# "command to execute" && echo "execution time"

どのように解決するのですか?

bashのビルトインである time (を実行したときにデフォルトで呼び出されるはずのもの)。 time command を実行したときにデフォルトで呼び出されるはずです)、および /usr/bin/time (これはフルパスで呼び出す必要があるはずです)。

組み込みの time は常に標準エラー出力に出力しますが /usr/bin/time を使うと、time の出力を特定のファイルに送ることができるので、 実行されるコマンドの標準エラーストリームを妨害することはありません。 また /usr/bin/time の書式はコマンドラインから設定可能です。 または で、環境変数 TIME であるのに対し、bash のビルトインである time のフォーマットは だけです。 によって構成されます。 TIMEFORMAT 環境変数によってのみ設定されます。

$ time factor 1234567889234567891 # builtin
1234567889234567891: 142662263 8653780357

real    0m3.194s
user    0m1.596s
sys 0m0.004s
$ /usr/bin/time factor 1234567889234567891
1234567889234567891: 142662263 8653780357
1.54user 0.00system 0:02.69elapsed 57%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+215minor)pagefaults 0swaps
$ /usr/bin/time -o timed factor 1234567889234567891 # log to file `timed`
1234567889234567891: 142662263 8653780357
$ cat timed
1.56user 0.02system 0:02.49elapsed 63%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+217minor)pagefaults 0swaps