2011-03-14 55 views
3
  • 我们大多数人都知道,到STDERR重定向到STDOUT我们2>&1
  • 我们也知道如何使用“>”文件重定向和处理重定向使用“|

我总是想知道正要组合上述两个为什么描述符重定向看起来不一致?

如果你想到PROG2您将重定向PROG1两个STDERR和STDOUT在|prog2管道之前的。另一方面,如果将prog1的STDERR和STDOUT重定向到一个文件(file.txt),则2>&1会在> file.txt之后。

所以我知道如何做到这一点,我只是想知道为什么这样做。对我来说,似乎是不一致的,但我看到的可能是错误的方式

感谢

+0

我建议使用'&> file.txt'和'|&prog2'代替感觉稍微不太奇怪。 – freiheit 2011-03-14 20:26:42

回答