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

时间:2015-07-03 22:35:55

标签: bash unix busybox

在bash中它起作用:

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

在busybox中它没有。

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

2 个答案:

答案 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

修改

检查管道是否存在