./configure 在终端中输出,但也在文件中输出 2>&1?

./configure 在终端中输出,但也在文件中输出 2>&1?

对于编译源代码,我想知道如何“复制”终端输出,以便 stdout 和 stderr 到达它们应该去的地方,同时也到达 gedit。

当我使用./configure 2>&1 gedit -时,所有终端输出都会发送到 gedit,但不再发送到内部需要的位置。对吗?

也许我在这里错了,但我无法找到明确的说明。

谢谢!J

答案1

阅读man bash,尤其是“重定向”部分。

2>&1

将 STDERR(错误流)重定向到 STDOUT 所在的位置。

您说的“不再需要内部处理”是什么意思?STDERR 和 STDOUT 流是./configure在执行其业务时产生的。脚本输出后如何处理 STDERR 或 STDOUT 通常不会影响脚本(除了lots_of_output | read_a_byte_an_hour)。

您要gedit处理什么?gedit编辑后的文件要写入哪里?

你可以

./configure 2>/tmp/stderr >/tmp/stdout  

然后是gedit任一文件。

如果您想要保存 STDERR 和 STDOUT,并在稍后处理,请参阅man tee并执行以下操作:

./configure 2>&1 | tee /tmp/logfile | later_processing ...  

相关内容