【发布时间】:2016-11-25 13:38:03
【问题描述】:
在 CMD 的几个命令中,我发现了一个写成 "2>&1" 的文本块......这里没有找到线程所以只是想问问它.. 谁能解释一下它的用法和工作吗?
【问题讨论】:
-
请参阅 Microsoft 文章 Using command redirection operators,其中也解释了这种重定向。
在 CMD 的几个命令中,我发现了一个写成 "2>&1" 的文本块......这里没有找到线程所以只是想问问它.. 谁能解释一下它的用法和工作吗?
【问题讨论】:
这是将通常转到 STDERR 的输出重定向到正常输出的目标(通常是 STDOUT)。
这是因为输出 2 用于错误消息,> 是重定向,&1 指的是发送正常输出的位置。它用于确保来自命令的所有消息都在一个位置。
如果您将它与普通重定向结合使用:foo > log.txt 2>&1 - 那么标准和错误消息都将在 log.txt 中结束。
【讨论】:
2>&1 不得出现在标准输出重定向之前,>。标准输出重定向也可以写成1>。
将 STDERR (2) 重定向到 STDOUT (1)
所以来自 STDERR 的所有 OUTPUT 都将在 STDOUT 上可用
【讨论】: