猿问

如何将输出重定向到文件和stdout

如何将输出重定向到文件和stdout

在巴什,打电话foo将在stdout上显示该命令的任何输出。

呼叫foo > output将任何输出从该命令重定向到指定的文件(在本例中为“Output”)。

是否有将输出重定向到文件的方法?它在标准架上显示了吗?


智慧大石
浏览 1696回答 3
3回答

牧羊人nacy

您想要的命令名为tee:foo | tee output.file例如,如果您只关心stdout:ls -a | tee output.file如果要包含stderr,请执行以下操作:program [arguments...] 2>&1 | tee outfile2>&1将通道2(标准错误/标准错误)重定向到通道1(标准输出/标准输出),以便两者都被写入标准输出。它也被定向到给定的输出文件。tee命令。此外,如果你想附加到日志文件,使用tee -a作为:program [arguments...] 2>&1 | tee -a outfile

跃然一笑

另一种适合我的方法是,<command>&nbsp;|&&nbsp;tee&nbsp;&nbsp;<outputFile>如图所示GNU bash手册例子:ls&nbsp;|&&nbsp;tee&nbsp;files.txt如果使用的是“x&”,则命令1的标准误差,除了标准输出,通过管道连接到命令2的标准输入;2>和1的简写|。在命令指定的任何重定向之后,将标准错误隐式重定向到标准输出。有关更多信息,请参见重定向
随时随地看视频慕课网APP
我要回答