可以解释这个命令是如何工作的吗?

时间:2016-04-14 23:36:53

标签: linux shell unix

当我使用参数将stdin重定向到tee命令时,它会显示两次字符串。

$ echo who is this | tee -
who is this
who is this

2 个答案:

答案 0 :(得分:1)

好吧,tee的联机帮助页

  

将标准输入复制到每个FILE,也复制到标准输出。

是的,所以需要标准输入,即who is this\n并将其复制到标准输出。这将使您的终端上显示who is this\n一次。此外,它还会将输入复制到名为-的文件中。在BSD上,这将创建一个名为-的文件并在那里复制输入。然而,GNU tee将-解释为标准输出,这是一个有点常见的事情。因此,它会再次将其复制到标准输出。

适用于BSD和Linux的版本

$ echo who is this | tee /dev/stdout
who is this
who is this

您还可以将其打印四次:

$ echo who is this | tee /dev/stdout /dev/stdout /dev/stdout  # on Linux alternatively: tee - - -
who is this
who is this
who is this
who is this

答案 1 :(得分:0)

tee用于将其输入重定向到文件&同时在stdout上打印。