我想将time命令的输出(写入标准错误)捕获到变量中.我知道这可以这样做:
$ var=`time (mycommand &> /dev/null) 2>&1`
$ echo "$var"
real 0m0.003s
user 0m0.001s
sys 0m0.002s
最内层重定向将标准输出和mycommand的标准错误发送到/ dev/null,因为它不需要,最外层重定向将标准错误发送到标准输出,以便它可以存储在变量中.
我的问题是我无法在shell脚本中使用它,但事实证明这是因为其他地方的错误.所以现在我已经开始编写这个问题,而不是我要问,这是实现这个目标的最佳方式还是你会采用不同的方式?
我唯一的改变是:
var=$(time (mycommand &> /dev/null) 2>&1)
Run Code Online (Sandbox Code Playgroud)
$()如果shell支持它的命令语法是优越的,原因有两个:
差异描述:Bash命令替换
| 归档时间: |
|
| 查看次数: |
8453 次 |
| 最近记录: |