Unix和tee - 命令链

时间:2010-05-17 18:54:37

标签: unix shell tee

在Unix环境中,我想在一系列命令上使用tee

$ echo 1; echo 2 | tee file
1
2

$ cat file
2

为什么file最终只有最终命令的输出?

出于本讨论的目的,我们假设我不能将它们分开并单独运行命令。

2 个答案:

答案 0 :(得分:5)

它只有第二个命令的输出,因为分号表示shell的新语句。

将它们放入括号中:

(echo 1; echo 2) | tee file

答案 1 :(得分:4)

尝试:

 ( echo 1; echo 2 ) | tee file

没有括号,它被解析为:

 echo 1 ; ( echo 2 | tee file )