[英]Difference on bash and ash parentheses
我试图使用 diff 命令来比较在 bash 中工作正常的目录列表:
diff <(cd alpha ; find . -type f) <(cd beta; find . -type f)
但是,在灰烬上(没有其他外壳可用的嵌入式设备)我得到
-ash: syntax error: unexpected "("
读取输入运算符<
或括号(
)
有什么区别吗?
<(command)
语法是Process Substitution,并且ash
shell(和其他受限制的/ etc。shell)不支持。
我发现这是最紧凑和易于理解的解决方案:
#!/bin/sh
diff /dev/fd/3 3<<-EOF /dev/fd/4 4<<-EOF
$(sort file1)
EOF
$(sort file2)
EOF
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.