我正在尝试使用bash内置time
来测量命令的执行时间。
问题是从timed命令获取返回码。在研究之后
help time
似乎时间总是返回0而不是执行命令的返回码。有没有办法获得定时命令的返回状态?
答案 0 :(得分:3)
man time
给了我:
如果程序正常退出,则返回时间值为 它执行和测量的程序的返回值。否则,返回值是128加上信号的数量 导致程序停止 或终止。
请注意,有一个shell-builtin time
和一个/usr/bin/time
/usr/bin/time false
/usr/bin/time true
给我相应的(1和0)错误代码。
答案 1 :(得分:1)
我查看了help time
并显示了time
和times
time
Exit Status:
The return status is the return status of PIPELINE.
times
Exit Status:
Always succeeds.
你有可能误读了吗?
答案 2 :(得分:1)
time lsa
-bash: lsa: command not found
real 0m0.001s
user 0m0.000s
sys 0m0.000s
echo $?
127
time ls
aa.aa
real 0m0.564s
user 0m0.000s
sys 0m0.001s
echo $?
0
127如果失败