为什么STDERR重定向到STDOUT

use*_*208 7 c stdout stderr

我注意到我们主要有3个文件流.它们是STDIN,STDOUT和STDERR ..我的问题是为什么STDERR重定向到STDOUT?

Fré*_*idi 35

stderr未重定向到stdout.默认情况下,两个流仅连接到同一设备(当前屏幕或终端).

您可以将它们重定向到不同的文件:

$ command > stdout.log 2> stderr.log
Run Code Online (Sandbox Code Playgroud)

要实际重定向stderrstdout,您必须发出:

$ command 2>&1
Run Code Online (Sandbox Code Playgroud)


Cli*_*ord 5

它不是; 它只是发生stdout和stderr通常映射到相同的输出流(通常是控制台).例如,如果将stdout重定向到文件,您会发现stderr仍然定向到控制台.

重要的是它们是可独立重定向的.