【发布时间】:2017-07-21 11:56:10
【问题描述】:
我的这段代码会产生错误,它可以抑制 STDOUT,但它不会将 STDERR 存储在变量 ERROR 中。
ERROR = $(memtester 900 1 > /dev/null)
【问题讨论】:
-
在 shell 变量赋值中,
=周围不能有空格。 -
而且你不应该使用大写的变量名,那些是为应用程序环境变量保留的。
-
将 stderr 重定向到 stdout 由 2>&1 完成,& 用于跟随文件描述符。所以下面的代码应该适合你。
ERROR=$({ memtester 900 > /dev/null; } 2>&1
标签: linux bash shell stdout stderr