- 我们大多数人都知道将 STDERR 重定向到 STDOUT,我们会使用
2>&1
- 我们也知道使用 "
>
" 进行文件重定向和使用 "|
" 进行进程重定向
我一直想知道的是上述两者的组合方式
如果你想将 prog1 的 STDERR 和 STDOUT 重定向到 prog2,你需要在 |prog2
管道之前放置 2>&1
。另一方面,如果你将 prog1 的 STDERR 和 STDOUT 重定向到文件 (file.txt),则 2>&1
要放在 > file.txt
之后。
所以我知道如何做,但我想知道为什么要这样做。对我来说,它似乎不一致,但我可能看错了
谢谢
&> file.txt
和|& prog2
来减少一些奇怪的感觉。 - freiheit