busybox可以像bash一样将匿名子shell输出扩展为匿名文件操作数吗



在bash中,它起作用:

diff <(echo foo) <(echo bar)
1c1
< foo
---
> bar

在繁忙的盒子里,它不是。

Busybox表示,他们关注SUSv3标准;SUSv3提供了一种方法吗?大量的测试代码使用这样的技巧来检查命令输出,而不必创建临时文件。或者我至少可以说这样的伎俩不符合标准吗?

<(...)被称为进程替换,是bash的一个特性。Busybox不支持它。

您可以进行

[ -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

编辑

检查管道是否存在

最新更新