我在从自动构建记录到输出时遇到问题。
构建是使用 Makefile 和 makefile 实用程序完成的。
问题是像编译器命令行这样的正常输出会转到 stdout,而编译错误会转到 stderr。
我想从构建中获取输出,就像它在屏幕上显示的那样。所以像:
(stdout) CC -c file.cpp
(stderr) Compile error at file.cpp line 232, blah blah blah
(stdout) CC -c file2.cpp
我尝试过的(来自 ksh 脚本)是:
制作 -k > build.log 2> build.log
这会产生一个日志文件,但问题是流被缓冲,因此日志文件中的结果全部混淆了。
我可以将输出捕获到 2 个单独的日志文件中,但是我没有关于如何将它们重新粘合到一个日志文件中的信息。
在这种情况下,有没有办法关闭 stdout 和 stderr 的缓冲?