在 bash 中,调用foo
会在标准输出上显示该命令的任何输出。
Calling foo > output
会将该命令的任何输出重定向到指定的文件(在本例中为“输出”)。
有没有办法将输出重定向到文件and它显示在标准输出上吗?
您想要的命令名为tee:
foo | tee output.file
例如,如果您只关心标准输出:
ls -a | tee output.file
如果你想包含 stderr,请执行以下操作:
program [arguments...] 2>&1 | tee outfile
2>&1
将通道 2(stderr/标准错误)重定向到通道 1(stdout/标准输出),以便两者都写入 stdout。它还定向到给定的输出文件tee
命令。
此外,如果您想append到日志文件,使用tee -a
as:
program [arguments...] 2>&1 | tee -a outfile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)