如何获取/检查bash脚本中哪些部分/行占用最多的执行时间?

时间:2013-04-16 12:03:16

标签: bash shell execution-time

我有一个非常长的bash脚本并在后台执行一些操作(不产生任何输出)。

我想知道哪些线/部件占用了大部分执行时间。

我可以使用某种工具/功能/ linux内置来实现吗?

2 个答案:

答案 0 :(得分:0)

我可以在这里想到两种方法。

1)记录每个命令或函数的开始时间并输出到日志文件

# echo "$(date) : Started function_x" >> $LOGFILE

2)计算每个函数/任务所需的秒数并记录下来。

startTime=$(date +%s)
longRunningFunction
endTime=$(date +%s)
echo "longRunningFunction took $(expr $endTime - $startTime) seconds" >> $LOGFILE 

答案 1 :(得分:0)

过去我必须这样做时,我使用过这种格式:( time echo "hello" ) 2>>output.txt

为脚本中的每一行执行此操作,为每个行计时。