在管道方面,我有点绿。我正在尝试做什么(在Windows PC上,但我猜它与UNIX相同)是这样的:
(output.exe "second part" & output.exe "first part") | someapp.exe -
我被告知我
无法多次写入stdout
类似的unix示例可能是:
(echo -n part2 & echo -n part1) | md5
做我想要的(原则上)。
从它的外观来看,它是“output.exe”应用程序,它会发出警告(如果没有| someapp.exe运行 - ,输出仍然存在)。要么这只是运气不好,要么我错过了一些我不理解的管道的关键基础。
output.exe提供的输出可以被someapp.exe附加和理解,就好了。有没有办法让两个output.exe一次输出到stdout一个?
答案 0 :(得分:0)
奇怪的是,看起来它在windows7上对我有用。我打了几个测试程序,它们都按照你的期望工作了
C:\tmp>( output.exe part1 & output.exe part2 ) | input.exe
LINE[0]: ARG[0]: output.exe
LINE[1]: ARG[1]: part1
LINE[2]: ARG[0]: output.exe
LINE[3]: ARG[1]: part2
所以问题可能实际上在你的output.exe或someapp.exe程序中?我在Win7和WinXP上测试过我的程序在这里:http://min.us/mvphIUz
注意:&似乎在Windows中看起来像工作;在unix中。这是分隔后续运行的命令。如果您使用&在unix中,它们将同时运行,输出将是混乱的。