我需要重定向输出&从一个Windows进程(GNU make.exe执行armcc工具链)到perl上写的一些过滤器的错误流。我正在运行的命令是:
Make Release 2>&1 | c:\cygwin\bin\perl ../tools/armfilt.pl
编译过程抛出一些打印件,经过一些修改后应该放到STDOUT
。但我遇到了一个问题:make生成的所有打印实际上都被推迟到make的过程结束,然后才会显示给用户。所以,我的问题是:
STDERR
打印件发送到perl(这是我实际需要的),而不是STDOUT+STDERR
。但我不知道如何在Windows中执行此操作。 微软关于管道运营商使用的解释说:
管道运算符(|)获取一个输出(通过默认值,STDOUT ) 命令并将其指向另一个的输入(默认为STDIN) 命令。
但是没有解释如何更改此默认STDOUT管道。它有可能吗?