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

在bash中,调用foo将在stdout上显示该命令的任何输出

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

是否有方法将输出重定向到文件并将其显示在标准输出上

所需的命令名为tee

foo | tee output.file

例如,如果您只关心标准输出:

ls-a | tee output.file

如果您想包括stderr,请执行以下操作:

程序[参数…]2&gt&1 |三通输出管

2&gt&1将通道2(stderr/标准错误)重定向到通道1(stdout/标准输出),以便两者都写入stdout。从tee命令开始,它也被定向到给定的输出文件

此外,如果要将附加到日志文件中,请使用tee-a作为:

程序[参数…]2&gt&1 | T形三通-a输出管

发表评论