我試圖使用過程中替換的標準輸出在while循環是這樣的:BASH嵌套進程替換
#!/bin/bash
FILE_1=f1.txt
FILE_2=f2.txt
while read LINE; do
echo "$LINE"
done < <(paste <(tail -f "$FILE_1") <(tail -f "$FILE_2"))
什麼它應該做的是合併FILE_1和FILE_2的最後幾行,每當新數據被添加到文件中。顯然,我想做的不僅僅是在while循環中打印這行,但這是一個很好的例子。
不幸的是,當我運行這個腳本時,它只是坐在終端上,什麼也不做。
運行只是這一行:
paste <(tail -f "$FILE_1") <(tail -f "$FILE_2")
作品完美,我可以看到終端上的輸出,因爲我在數據添加到文件中。
是否需要使用某些特殊語法才能將stdout傳輸到另一個進程?
我試着做
paste <(tail -f "$FILE_1") <(tail -f "$FILE_2") | while read LINE; do...
,但它仍然只是坐在終端。
@Kashyap不,我要做的進程替換了重定向。我不確定什麼<<(...)甚至。 – user3473949
@Kashyap:我找不到任何有關使用<<運算符的信息。你能將我鏈接到聯機幫助頁的相關部分嗎? – user3473949
@ kashyap在這裏混合了文檔,但這裏完全是一條紅鯡魚。刪除此評論主題將是一個很好的前進方向。 – tripleee