1

我知道

./executable &>outputfile

将标准输出和标准错误重定向到一个文件。这就是我想要的,但我也希望输出继续在终端中打印。做这个的最好方式是什么?

好的,这是我的确切命令:我试过了

./damp2Plan 10 | tee log.txt

./damp2Plan 10 2>&1 | tee log.txt

其中 10 只是传递给 main 的参数。两者都不能正常工作。结果是代码中的第一个 printf 语句确实进入了终端和 log.txt,但其余的都没有。我在Ubuntu 12.04(精确穿山甲)上。

4

1 回答 1

3

使用tee

./executable 2>&1 | tee outputfile

tee分块输出,在看到任何输出之前可能会有一些延迟。如果你想更接近实时输出,你可以像现在一样重定向到一个文件,并tail -f在不同的 shell 中监视它:

./executable 2>&1 > outputfile

tail -f outputfile

于 2012-09-07T19:26:12.530 回答