2016-10-01 72 views
2

我試圖用CMP比較兩個命令(Bourne shell)中的輸出:在Bash Shell中是否存在像Bash中的進程替換?

CMP <(LS $文件1)<(LS $文件2)

它運作良好,在Bash中,但不能工作,伯恩。有沒有解決方法?非常感謝!

+1

沒有,沒有。 –

+0

我也希望這樣。我有shell腳本,如果我有可用的進程替換,會更容易理解,購買大部分腳本都是Bourne shell兼容的,我必須記住一些腳本需要用bash執行 –

回答

1

流程替換是(或曾經是)使用命名管道實現的。你可以使用mkfifo直接重現相同的行爲:

mkfifo pipe1 pipe2 
ls $file1 > pipe1 & 
ls $file2 > pipe2 & 
cmp pipe1 pipe2 
rm pipe1 pipe2 

但是,除了表演,你不會得到太多相比,外出時認爲常規文件...