試した環境
- WSL バージョン: 1.2.5.0
- Ubuntu 20.04.6 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64)
- GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
本題
ワンラインでtime command1; command2;
とすると、command1の時間計測だけ行われます。
$ time sleep 1; sleep 2; real 0m1.001s user 0m0.001s sys 0m0.000s
複数のコマンドの合計の時間計測をしたい場合はtime { command1; command2; }
のように波括弧で囲みます。
開始の{
の後にはスペースが必要です。
$ time { sleep 1; sleep 2; } real 0m3.005s user 0m0.005s sys 0m0.000s
もしくは丸括弧で囲みます。
こちらは開始の(
の後にはスペースがあってもなくても動きます。
$ time (sleep 1; sleep 2;) real 0m3.003s user 0m0.003s sys 0m0.000s
ちなみに上記の波括弧や丸括弧を使う方法は GNU time では利用できません。
$ /usr/bin/time --version GNU time 1.7 $ /usr/bin/time { sleep 1; sleep 2; } -bash: syntax error near unexpected token `}' $ /usr/bin/time (sleep 1; sleep 2;) -bash: syntax error near unexpected token `sleep'