如何在Python中测量shell脚本的执行时间?



我创建了这个sh脚本,并且想要度量在这个程序上花费的时间:

#!/bin/bash
start=`date +%s`
cd nlu/creator
python3 move_file.py  ../../../../../base_data/   ../../resources/kb/
python3 converter.py
python3 transformer.py
cd  ../../resources/kb/
find . -name '*.xml' | xargs  -I{} rm -rf {}
find . -name '*Object.txt' | xargs  -I{} rm -rf {}
end =`date +%s`
runtime=$((end-start))
echo "Building time: ${runtime}"

我执行:

nlu/creator/builder.sh

错误信息是:

nlu/creator/builder.sh: line 15: end: command not found
Building time: -1651032434

为什么报错'end:command not found'?

还有,为什么时间是负数?我用的是Mac电脑。

为什么会抱怨?

这是一般的shell脚本语法:

一般情况下,P X Y运行命令P,带两个参数XY。类似地,end = something运行命令end,带两个参数=something

赋值由VAR=VALUE完成,例如

end=something

如果你有一天需要执行一个名为end=something的命令(即不将其视为赋值),你仍然可以通过写

来完成它
'end=something'

BTW:如果您只对知道时间感兴趣,并且对时间打印的特定格式不挑剔,您也可以完全从脚本中删除时间计算,并使用内置的time运行脚本:

time nlu/creator/builder.sh

试试吧!

相关内容

  • 没有找到相关文章

最新更新