如何通过循环获取多个命令的时间

如何通过循环获取多个命令的时间

我有这个命令:

time -p sh -c 'command1; command2;'

因此,command1command2被执行,我在控制台上打印出真实的用户和系统时间。

但我希望command1; command2;循环 10 次,然后我想获取这两个命令所用的时间。

答案1

使用 zsh:

time (repeat 10 {cmd1; cmd2})

zshrepeat继承自csh.

tcsh

time repeat 10 eval 'cmd1; cmd2'

将为您提供每次迭代的时间以及最后的总时间。

答案2

您可以编写一个简单的for循环

 time -p bash -c "for (( i=0; i<10; i++ )); do command1; command2; done;"

请注意,我使用的是 for 循环bash而不是shfor 循环。

答案3

对于简单的 for 循环,您可以直接为 for 循环计时:

time for i in {1..10}; do echo $i; sleep 1; done

相关内容