我希望shell脚本以下列方式重定向子进程的stdout
我知道我可以做类似
的事情#!/bin/sh
./child > file
cat file
但那不会实时显示标准输出。例如,如果孩子是
#!/bin/sh
echo 1
sleep 1
echo 2
用户会看到同时打印“1”和“2”
答案 0 :(得分:14)
使用tee
:
./child | tee file
tee
会将其标准输入复制到命令行上的任何文件以及标准输出。
答案 1 :(得分:-1)
我使用:海绵,来自moreutils http://linux.die.net/man/1/sponge
你可以这样做:
$ grep something largefile |海绵largefile