如何在一条线路中传输两个回声?



在DOS命令提示符下:

echo b | echo a

导致显示a,但不显示b。 为什么? 如何在一条线路中管道 2echo

我的总体目标是从Haskell程序中启动几个进程,并查看每个进程何时开始和结束。 我会发出这样的命令:

echo start | myprogram | echo end

请参阅命令外壳概述一文,了解如何在一行中运行多个命令。有一个部分使用多个命令和条件处理符号

命令 1命令 2

用于在一个命令行上分隔多个命令。Cmd.exe 运行第一个命令,然后运行第二个命令。

命令1 &&&命令 2

用于仅当符号前面的命令成功时运行 && 后面的命令*。Cmd.exe 运行第一个命令,然后仅在第一个命令成功完成时运行第二个命令*。

*(如果命令成功完成操作,它将返回零 (0( 的退出代码或无退出代码。

[引自《回答》作者压缩]

。和其他几个。

管道(将命令的输出重定向到另一个命令的输入(在这里不是解决方案,只需使用如上所示的串行执行即可。

等等,还有更多:)

如果要将输出重定向到日志,通常要执行以下操作:

echo a > out.txt & echo b >> out.txt & echo c >> out.txt

但是上面文章中提到的使用括号的内容有一个简写:

(echo a & echo b & echo c) > out.txt

或等效项(使用长命令更具可读性(

> out.txt (echo a & echo b & echo c)

如您所见,这使您无需组合>>>这通常是在命令中检查的另一件事。

正如斯蒂芬所建议的,我将使用:

echo start & myprogram & echo end

最新更新