努力解析(bash)时间命令

我正在努力解析bash中的time命令的输出,甚至在我打电话时阻止它输出输出.这是我的测试代码
#!/bin/bash
TIME=`time ls -lh > /dev/null`
echo "Testing..."
echo $TIME

目前打印出来:

{blank-line}
real    0m0.064s
user    0m0.002s
sys     0m0.005s
Testing
{blank-line}

因此,分配给$TIME的值似乎是打印输出开始时的空白行.我需要得到sys行的秒值 – 即“0.005”.我保证我只会有秒,所以我不需要任何“m”之前的任何东西 – 但是,如果秒> 10秒,秒部分可能是xx.xxx的形式.我目前不知道如何抑制’time’输出,捕获所有而不是空行,也不解析它来获取我需要的值.

任何帮助将不胜感激…

如果您使用Bash内建时间,则可以通过设置TIMEFORMAT变量来控制其输出
TIMEFORMAT=%r

并且您不必执行任何解析,因为这将导致时间只输出秒数.

并使用:

echo "Testing..."
TIME=$( { time ls -lh > /dev/null; } 2>&1 )
echo $TIME

或从BashFAQ/032的其他技术之一.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...