将 STDERR 重定向到一个变量

Redirect STDERR to a variable

我的这段代码会产生错误,它可以抑制 STDOUT,但不会将 STDERR 存储在变量 ERROR 中。

ERROR = $(memtester 900 1 > /dev/null)

你可以这样捕捉:

error=$(memtester 900 1 2>&1 >/dev/null)

重定向运算符的顺序在这里很重要。

  • 2>&1 - 将 stderr 重定向到 stdout
  • >/dev/null - 将标准输出重定向到 /dev/null