Pipe

兩個程序並行執行的管道輸出到另一個程序

  • August 17, 2018

我有兩個程序foo.shbar.sh它們都包含無限循環,產生連續的輸出並且應該並行執行。我想將這兩個程序的輸出通過管道傳輸到第三個程序consumer

最初我只foo.sh跑步,管道很容易通過

./foo.sh | ./consumer

但現在我想添加bar.sh將其輸出發送到consumer.

我已經嘗試了這些答案中建議的東西(答案 1答案 2),但它們似乎只適用於一個結束而下一個在第一個結束後開始的程序。我需要它們都並行執行。

這不起作用,因為它只管道輸出foo.sh並且從不啟動bar.sh

( ./foo.sh ; ./bar.sh ) | ./consumer

這個幸運的猜測給了我一個語法錯誤:

( ./foo.sh & ; ./bar.sh & ) | ./consumer

從你的幸運猜測中刪除分號……

引用自:https://unix.stackexchange.com/questions/463150