Когда я пытаюсь сослаться на два канала замены процесса в функции bash, работает только первый из них. Второй выдает ошибку «плохой дескриптор файла», например:
$ foo(){
> cat "$1"
> cat "$2"
> }
$ foo <(echo hi) <(echo bye)
hi
cat: /dev/fd/62: Bad file descriptor
$
Похоже, что второй канал удаляется после ссылки на один, но а) я не могу подтвердить это поведение в какой-либо документации и б) я бы хотел, чтобы этого не было. знак равно
Любые идеи о том, что я делаю неправильно? FWIW Я делаю это, чтобы сделать оболочку для использования графического инструмента Mac OS X FileMerge diff вместо инструмента командной строки, который уже с удовольствием работает с несколькими каналами из командной строки.
-Роб