我想有一个子进程的shell脚本将stdout通过以下方式UNIX外壳,重定向输出,但保持在标准输入
- stdout重定向到文件
- 显示的输出实时处理
我知道我可以做这样的事情
#!/bin/sh
./child > file
cat file
但不会解散实时播放标准输出。例如,如果孩子是
#!/bin/sh
echo 1
sleep 1
echo 2
用户将看到 “1” 和 “2” 在同一时间打印
我想有一个子进程的shell脚本将stdout通过以下方式UNIX外壳,重定向输出,但保持在标准输入
我知道我可以做这样的事情
#!/bin/sh
./child > file
cat file
但不会解散实时播放标准输出。例如,如果孩子是
#!/bin/sh
echo 1
sleep 1
echo 2
用户将看到 “1” 和 “2” 在同一时间打印
使用tee
:
./child | tee file
tee
会复制它的标准输入到命令行上的任何文件以及标准输出。
它如何满足“实时显示过程的输出”? – 2011-03-16 18:14:44
另一个提示:'tee -a'用于追加文件,如果你想要的话,相当于使用>>而不是>与正常的shell重定向。 – davr 2010-05-17 17:48:40