是否可以重定向命令的输出,以将发送到 stdout 的文本替换为来自 stderr 的文本?
$ ./script
this line is redirected to stdout
this line is redirected to stderr
$ ./script (insert redirections here)
this line is redirected to stderr
我知道我可以使用1>/dev/null
,但我想知道是否有办法将来自 stderr 的文本重定向到 stdout 来执行此操作。
答案1
你可以这样做:
./script 2>&1 1>/dev/null
这将 fd 2 重定向到 fd 1 指向的内容(即stdout
),然后将 fd 1 重定向到/dev/null
。第二个重定向不会影响第一个重定向,到 fd 2 的输出将被发送到stdout
.
不过顺序确实很重要。有了这个:
./script 1>/dev/null 2>&1
将把所有输出发送到/dev/null
.