cwd*_*cwd 6 linux command-line make pipe stdout
我正在尝试捕获构建操作的所有输出,并将其发送到myprogram. 我似乎只能捕捉到其中的一部分。这就是我正在尝试的:
make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64" | myprogram &2 > 1
Run Code Online (Sandbox Code Playgroud)
我也试过:
make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64" &2 > 1 | myprogram
Run Code Online (Sandbox Code Playgroud)
基本上我想把所有东西都发送给stdout,然后用它做一些事情。目前我只捕获部分输出,另一部分将显示在屏幕上。如何将所有内容通过管道传输到另一个程序?
由于您有两个命令,因此最好使用:
{ make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64"; } 2>&1 | myprogram
Run Code Online (Sandbox Code Playgroud)
或者
( make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64" ) 2>&1 | myprogram
Run Code Online (Sandbox Code Playgroud)
在make clean未将其输出到管道,你将要为使用两个以上的让壳重定向两者的输出make通话为一体。