在几个示例中,我可以看到tee不会等待stdout完成,这会导致一些错误的行为。
第一个示例:
seq 50000|tee >(wc) >(head -2) >/dev/null
将输出:
1
2
12773 12774 65536
Run Code Online (Sandbox Code Playgroud)
代替
1
2
50000 50000 288894
Run Code Online (Sandbox Code Playgroud)
第二个示例:
cat f.txt|grep abc|tee f.txt >/dev/null
在此示例中,仅当文件较小时,文件更新才有效,但是如果文件较长,则有时tee会在cat完成之前开始写入,并且文件更新仅在第一个文件中有效“猫”过渡。
您可以说tee仅用于重定向到文件,但我也看到tee的用法。
我知道小便命令没有此错误,但是没有人知道解决办法让tee等待吗?
谢谢 :-)