【发布时间】:2011-04-25 02:43:21
【问题描述】:
我正在努力解析 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 的形式。我目前不知道如何抑制“时间”输出,将其全部捕获而不是空白行,也不知道如何解析它以获得我需要的值。
任何帮助将不胜感激......
【问题讨论】: