此线程显示了如何测量运行脚本所花费的时间。就我而言,我有兴趣测量脚本中两点之间的时间 。这是我想如何使用此示例:
start_measuring_time
Line 1
Line 2
..
Line N
stop_measuring_time
show_elapsed_time
我希望显示的时间是人类可读的(秒,分钟,小时,天等),如果可能的话。任何想法如何做到这一点?
此线程显示了如何测量运行脚本所花费的时间。就我而言,我有兴趣测量脚本中两点之间的时间 。这是我想如何使用此示例:
start_measuring_time
Line 1
Line 2
..
Line N
stop_measuring_time
show_elapsed_time
我希望显示的时间是人类可读的(秒,分钟,小时,天等),如果可能的话。任何想法如何做到这一点?
Answers:
您可以使用date
util:
#!/bin/bash
start_measuring_time() {
read s1 s2 < <(date +'%s %N')
}
stop_measuring_time() {
read e1 e2 < <(date +'%s %N')
}
show_elapsed_time() {
echo "$((e1-s1)) seconds, $((e2-s2)) nanoseconds"
}
start_measuring_time
sleep 2
stop_measuring_time
show_elapsed_time
Tend-Tstart
后$(
您可以使用time
:
time (
Line 1
Line 2
..
Line N
)
我认为时间的输出按原样是人类可读的,但是如果您的脚本要以天为单位等,那么请查看输出man time
的格式选项。