我有一個bash腳本,通常是這樣的:代命令到另一個命令的參數列表在bash
[...]
file=$1
docommand $x $y $file $z
,但我想一個選項添加到腳本,將它告訴給使用anonymous named pipe而不是文件從命令中獲取數據。 也就是說,我想要做的事情接近
file=<(anothercmd arg1 $1 arg3)
,並有我
docommand $x $y $file $z
擴大到
docommand $x $y <(anothercmd arg1 $1 arg3) $z
有沒有辦法讓引述權利實現這一目標?
對於更具體的上下文,腳本查看來自迴歸測試的輸出產品,通常將它們與具有預期輸出的文件進行比較。我希望可以選擇傳入一個修訂版並將其與預期結果進行比較,因此diff $from $to
將擴展爲diff <(hg cat -r $fromrev $from) $to
。
「匿名命名管道」 ......是不是一個有趣的名字? –
正確的術語是*過程替換*。引用有什麼問題?使用流程替換到其他任何地方,引用規則都沒有什麼不同。 – cdarke
我不認爲你可以做到這一點。用於進程替換的命名管道是臨時的,並在使用它的命令行末尾消失。 – Barmar