我想從兩個併發程序(日誌文件的尾部)將輸出捕獲到bash中的一個輸出流中。將兩個併發程序的輸出與bash結合使用
我用這個例子程序來進行測試:
function foo { for i in $(seq 1 10); do echo "program $*"; sleep 1; done }
現在細
(foo bar & foo baz &) | tee /tmp/output
但一旦我在添加一個額外的管道混合下列作品它不再起作用:
(foo bar | grep bar & foo baz &) | tee /tmp/output # does't work
輸出成爲連續的。我可以製作一個包含grep的單獨程序,但我想知道是否有解決方法。
如果有人能解釋爲什麼它不起作用,我會很高興。
」。 grep是*不*寫入tty。 grep正在寫入一個管道,並且tee正在寫入一個tty。 – 2012-01-31 14:52:17
你是對的。我的觀點差 - 我會編輯我的帖子來澄清。 – FatalError 2012-01-31 14:54:02