如何将stderr和stdoutredirect到同一行bash中的不同文件?

我非常了解这一点:

$ command 2>> error $ command 1>> output 

有没有什么办法,我可以输出stderr到错误文件,并输出stdout输出文件在同一行bash?

只需将它们添加到一行command 2>> error 1>> output

但是请注意,如果文件已经有数据, >>是用于追加的。 而>将覆盖文件中的任何现有数据。

所以,如果你不想追加command 2> error 1> output

只是为了完成,你可以写1> ,因为默认的文件描述符是输出。 所以1>>是同样的事情。

所以, command 2> error 1> output成为, command 2> error > output

或者,如果您想在一个文件中混合输出(标准输出和标准错误),您可能需要使用:

 command > merged-output.txt 2>&1 

像那样:

 $ command >>output 2>>error 

尝试这个:

 your_command 2>stderr.log 1>stdout.log 

更多信息

数字09是bash中的文件描述符0代表标准input, 1代表标准输出, 2代表标准错误。 39是备用的任何其他临时使用。

任何文件描述符都可以使用操作符>redirect到一个文件或另一个文件描述符。 您可以改为使用操作符>>追加到文件而不是创build一个空的文件。

用法:

file_descriptor > 文件名

file_descriptor >& file_descriptor

请参阅http://www.tldp.org/LDP/abs/html/io-redirection.html