在Unix环境中,我想在一系列命令上使用tee
:
$ echo 1; echo 2 | tee file
1
2
$ cat file
2
为什么file
最终只有最终命令的输出?
出于本讨论的目的,我们假设我不能将它们分开并单独运行命令。
答案 0 :(得分:5)
它只有第二个命令的输出,因为分号表示shell的新语句。
将它们放入括号中:
(echo 1; echo 2) | tee file
答案 1 :(得分:4)
尝试:
( echo 1; echo 2 ) | tee file
没有括号,它被解析为:
echo 1 ; ( echo 2 | tee file )