我正在尝试使用cmp来比较两个命令的输出(Bourne shell):
cmp<(ls $ file1)<(ls $ file2)
它在Bash中运行良好,但在Bourne中无效。有什么解决方案吗?非常感谢!
答案 0 :(得分:2)
使用命名管道实现(或以前)进程替换。您可以直接使用mkfifo
重新创建相同的行为:
mkfifo pipe1 pipe2
ls $file1 > pipe1 &
ls $file2 > pipe2 &
cmp pipe1 pipe2
rm pipe1 pipe2
但除了表演之外,与常规文件相比,你不会获得太多收获......