如何清除std并将stderr转移到std?

时间:2011-07-17 21:08:35

标签: bash

我在bash脚本中有以下命令,

  

时间= $((./ a.out)2>& 1)

运行时,单独运行a.out时,std中有一些打印输出。如何清除那些打印输出并使$time变量只包含执行时间?

1 个答案:

答案 0 :(得分:2)

time=$(./a.out 3>&1 1>/dev/null 2>&3)

此:

  1. 将stderr重定向到未使用的流(3),

  2. 沉默stdout

  3. 将临时流(3)重定向到stdout

  4. 这基于this answer