我正在尝试使用cmp比较两个命令的输出(Bourne shell):

cmp
它在Bash中运行良好,但在Bourne中无法运行。有什么解决办法吗?非常感谢!

最佳答案

进程替换是(或曾经)使用命名管道实现的。您可以直接使用mkfifo重新创建相同的行为:

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

但是除了表演外,与常规文件相比,您不会获得太多收益。

10-08 08:28