如何获取定时命令的返回类型?

时间:2012-10-18 09:24:39

标签: bash

我正在尝试使用bash内置time来测量命令的执行时间。

问题是从timed命令获取返回码。在研究之后

help time

似乎时间总是返回0而不是执行命令的返回码。有没有办法获得定时命令的返回状态?

3 个答案:

答案 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并显示了timetimes

的帮助信息

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如果失败