在Unix环境中,我想在一系列命令中使用tee,如下所示:$ echo 1; echo 2 | tee file 1 2 $ cat file 2 为什么file最终只有来自最后一个命令的输出? 在本次讨论中,假设我无法将它们分开并单独运行这些命令。
{ echo 1; echo 2; } | tee file
将输出写入文件。请注意,{
必须与命令用空格分开,并且}
必须出现在命令可能出现的位置(因此在第二个分号之后)。另一种选择是始终创建一个包含两个不可分割命令的新脚本,并将其输出传输到tee
:conjoined-twin-processes | tee file
。 - Jonathan Leffler