Bash 如何从';时间';指挥部?

Bash 如何从';时间';指挥部?,bash,scripting,shell,Bash,Scripting,Shell,我想制作一个脚本,只输出time命令的实时值,以便绘制结果。例如时间命令输出 real 1m0.001s user 1m0.000s sys 0m0.001s 我想写一个脚本,输出 60.001 如何以秒为单位从“time”命令中获取实时值?time可以采用可选的--format或-f参数,但必须使用time命令的完整路径,/usr/bin/time /usr/bin/time -f "%e" sleep 3 3.00 如果没有路径,它将只处理所有参数作为命令,因此您将得

我想制作一个脚本,只输出time命令的实时值,以便绘制结果。例如
时间命令
输出

real    1m0.001s
user    1m0.000s
sys  0m0.001s
我想写一个脚本,输出

60.001 

如何以秒为单位从“time”命令中获取实时值?

time
可以采用可选的
--format
-f
参数,但必须使用time命令的完整路径,
/usr/bin/time

/usr/bin/time -f "%e" sleep 3

3.00

如果没有路径,它将只处理所有参数作为命令,因此您将得到一个
-f:command not found

或者,使用
/usr/bin/time
或查看类似问题

.

如果您使用的是Bash内置的
time
,请将
TIMEFORMAT
变量设置为
%R

$ TIMEFORMAT=%R
$ time sleep 1
1.022

如果编写
\time
,则强制不使用bash内置的time。
因此,使用
\time-f“%e”命令
您就完成了。

谢谢!我喜欢
%0lR
对于执行速度较慢的命令(请参阅)
unset TIMEFORMAT
以恢复原始命令,这是最好的(可读性更好的)formating@frederik-b它在Ubuntu 19.04上不运行
\time-f“%e”sleep 5
告诉我
bash:time:command not found
它直接与gnu time一起工作,但不是shell内置的time命令,如果您运行
which-a time
,您可能会看到shell是首选的,这就是为什么在某些情况下使用二进制文件的完整路径是可行的。