我如何测量Linux shell脚本中的持续时间?

我想知道在Linux shell脚本中操作需要多长时间。 我怎样才能做到这一点?

像其他人所说的那样,使用时间命令是一个好主意。

另一个select是使用神奇的内置variables$ SECONDS,它包含脚本开始执行以来的秒数。 你可以说:

START_TIME=$SECONDS dosomething ELAPSED_TIME=$(($SECONDS - $START_TIME)) 

我认为这是特定的bash,但是因为你在Linux上,我假设你使用bash。

使用time命令。 time ls /bin

试试下面的例子:

 START_TIME=$SECONDS # do something sleep 65 ELAPSED_TIME=$(($SECONDS - $START_TIME)) echo "$(($ELAPSED_TIME/60)) min $(($ELAPSED_TIME%60)) sec" #> 1 min 5 sec 

您可以使用“时间”命令。 只需在要测量的持续时间之前添加“时间”即可。 (来源: http : //unixhelp.ed.ac.uk/CGI/man-cgi?time )

只是为了帮助像我这样的人收到错误:

  arithmetic expression: expecting primary: "-" 

检查你的shellcript应该从下面开始:

 #!/bin/bash 

干杯!

这里是脚本来查找以毫秒为单位的时间。 将睡眠60行replace为您要执行的代码。

 a=0 while [ $a -lt 10 ] do START_TIME=`echo $(($(date +%s%N)/1000000))` sleep 3 END_TIME=`echo $(($(date +%s%N)/1000000))` ELAPSED_TIME=$(($END_TIME - $START_TIME)) echo $ELAPSED_TIME if [ $a -eq 10 ] then break fi a=`expr $a + 1` done