【问题标题】:fundamentals of piping two stdout to stdin管道两个标准输出到标准输入的基础知识
【发布时间】:2011-06-10 04:49:59
【问题描述】:

在管道方面,我有点绿色。我正在尝试做的是(在 Windows PC 上,但我猜它与 UNIX 相同)是这样的:

(output.exe "second part" & output.exe "first part") | someapp.exe -

有人告诉我

无法多次写入标准输出

类似的 unix 示例可能是:

(echo -n part2 & echo -n part1) | md5

我想做的事(原则上)。

从外观上看,发出警告的是“output.exe”应用程序(如果在没有 | someapp.exe 的情况下运行 - 输出仍然存在)。要么这只是运气不好,要么我错过了一些我不明白的管道的关键基础。

output.exe 给出的输出可以被 someapp.exe 附加和理解。有没有办法让两个 output.exe 一次输出到 stdout?

【问题讨论】:

  • 这应该可以。例如尝试(任务列表和任务列表)|种类。没有问题。

标签: windows pipe stdout cat md5sum


【解决方案1】:

奇怪,看起来它在 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 中使用 &,它们会同时运行,输出会很混乱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 2021-04-29
    • 2022-07-05
    • 1970-01-01
    相关资源
    最近更新 更多