Bash - 输出重定向

5
我想将错误输出重定向到文件和终端,并丢弃标准输出,但我无法想出方法。有人知道如何做吗?
2个回答

14
myCommand 2>&1  1>/dev/null | tee /path/to/some/file.txt

标准输出(STDOUT)会被黑洞化到/dev/null中

标准错误(STDERR)会被重定向到STDOUT

tee接收到STDOUT后,将其重新输出并写入文件。


我差点就成功了 :) 我尝试了这个命令但是它没有起作用 myCommand 1>/dev/null 2>&1 | tee /path/to/some/file.txt。你的解决方案可行。谢谢你。 - user219882
我先尝试了你的解决方案,然后才想起它们应该颠倒过来 ;) - James C
1
顺序很重要,因为重定向是从左到右解释的。因此,第一个重定向将stderr设置为与stdout相同的流。然后第二个将stdout切换。 - Larry Morell

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接