【发布时间】:2011-09-11 11:22:49
【问题描述】:
我已将一个 shell 脚本简化为两个命令:
终端 A(将 STDIN 重定向到命名管道):
tee -a >>pipe
终端 B(从上面使用的管道读取):
tail -f pipe
我看不懂的结果:
- 结果1:开始tee,开始tail:第一个终端的任何输入都会被缓冲,并且只会在tee命令停止后显示在第二个终端(ctrl-c) .
- 结果 2:开始 tee,开始 tail,停止 tee,再次开始 tee:现在只缓冲每一行(我想要的结果)。结果显示在终端 2 的每一行输入到终端 1 的末尾。
- 结果 3(值得考虑):先开始 tail,然后 tee:结果与 #1 相同。
我还使用 exec 和 cat 命令编写了一个类似的脚本,它表现出相同的行为。
【问题讨论】: