Cuando trato de referirme a dos tuberías de sustitución de procesos en una función bash, solo funciona la primera referencia. El segundo da un error de "mala descriptor de archivo" de este modo:La sustitución de doble proceso de Bash da un mal descriptor de archivo
$ foo(){
> cat "$1"
> cat "$2"
> }
$ foo <(echo hi) <(echo bye)
hi
cat: /dev/fd/62: Bad file descriptor
$
Parece que el segundo tubo se deja caer una vez que uno se hace referencia, pero a) Me parece que no puede confirmar este comportamiento en cualquier documentación y b) Desearía que no fuera así. =)
¿Alguna idea sobre lo que estoy haciendo mal? FWIW Estoy haciendo esto para hacer un contenedor para usar la herramienta gráfica diff de FileMerge de Mac OS X en lugar de la línea de comando uno, que ya está feliz de trabajar con varias tuberías desde la línea de comandos.
-Rob
Eso no es una respuesta ... Acabo de comprobar: funciona en Linux y falla en osx, que parece ser la plataforma del OP. –