似乎较新版本的bash具有&>
运算符,(如果我理解正确的话)该运算符会将stdout和stderr都重定向到文件(&>>
如Adrian所阐明的那样,追加到文件中)。
实现同一目标的最简单方法是什么,而是通过管道传递到另一个命令?
例如,在这一行:
cmd-doesnt-respect-difference-between-stdout-and-stderr | grep -i SomeError
我希望grep可以匹配stdout和stderr中的内容(有效地,将它们组合成一个流)。
注意:这个问题是在询问管道,而不是重定向-因此,它不是当前标记为重复的问题的重复。
请参阅链接的问题的第二个答案(stackoverflow.com/a/637834/1129642),以获取同时传输stdout和stderr的正确方法。无需其他问题。
—
Marki555 '16
@triplee不是完全重复吗?管道与重定向到文件?
—
本杰明·W.
@BenjaminW那里至少有一个答案可以解决这两种情况,尽管这不是公认的答案。这是一个相当普遍的问题,因此我们可能会找到更好的副本,或者要求主持人将其合并-甚至在最坏的情况下,也可以针对该主题制定全新的规范。如果您找到更好的骗子,请务必提出建议。提前致谢。
—
三胞胎
@tripleee解决,是的,但是没有答案使用
—
本杰明·W.
|&
快捷方式,我认为这是“将stdout和stderr都重定向到管道”的最方便的解决方案。
这不是链接问题的重复,而且不清楚Marko的回答是否符合我的要求。另外,它没有提及|&。投票重新开放。
—
Martin Bonner