【发布时间】:2015-06-11 13:18:56
【问题描述】:
我试图使用 diff 命令来比较在 bash 中运行良好的目录列表:
diff <(cd alpha ; find . -type f) <(cd beta; find . -type f)
但是,在灰烬(没有其他外壳可用的嵌入式设备)上,我得到了
-ash: syntax error: unexpected "("
读取输入运算符<或括号()有什么区别吗?
【问题讨论】:
-
是的。
ash不支持bash支持的进程替换。这就是<(command)语法。 -
另外,无论如何,这并不总是能可靠地工作。到目前为止,您显然很幸运。
find不保证以任何特定顺序返回文件列表,并且顺序可能会随着文件的添加/删除/修改/等而改变。您可以通过在每个find之后添加| sort来解决这个问题,不过,我猜...