ran*_*ien 2 linux redirection command-line
如果 2>&1 将 stderr 重定向到 stdout,那不是 '>' 所做的吗?那么“2>&1”和“>”具有相同的含义还是在某些方面有所不同?关于重定向的解释似乎围绕着它们各自含义之间的差异,但没有说明“2>&1”和“>”是否相同。有人可以告诉我我错在哪里吗?
>
有其本身的意义。它是一个重定向运算符。
2>
可能是重定向stderr
,但stderr
不是任务的唯一输出。还有stdout
which is 1,还有其他你可以重定向到的地方。
例如,>myOutput.txt
会将输出(我相信仅stdout
默认情况下)从该任务重定向到您的文件。
然后是1>stdOut.txt
显式仅 stdout
重定向到输出文件。
通过扩展,你也可以这样做2>stdErr.txt
这样做的原因2>&1
是重定向stderr
到相同的流,stdout
以便只有一个流作为命令的输出。然后,可以将组合输出重定向为一个命令。
所以而不是
myCommand 1>stdOut.txt 2>stdErr.txt
Run Code Online (Sandbox Code Playgroud)
你可以做
myCommand 1>combinedOut.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
367 次 |
最近记录: |