在bash中它起作用:
diff <(echo foo) <(echo bar)
1c1
< foo
---
> bar
在busybox中它没有。
Busybox表示他们关注SUSv3标准; SUSv3提供了一种方式吗?很多测试代码使用这些技巧来检查命令输出,而不必创建临时文件。或者我至少可以说这些技巧不符合标准吗?
答案 0 :(得分:1)
<(...)
称为进程替换,是bash的一项功能。 Busybox不支持它。
答案 1 :(得分:1)
你可以做到
[ -p /tmp/f1 ] || mkfifo /tmp/f1
[ -p /tmp/f2 ] || mkfifo /tmp/f2
echo foo >> /tmp/f1 &
echo bar >> /tmp/f2 &
diff /tmp/f1 /tmp/f2
1c1
< foo
---
> bar
检查管道是否存在