我如何测量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