Wenn ich versuche, auf zwei Prozeßersetzungs-Pipes in einer Bash-Funktion verweisen, funktioniert nur die erste referenziert. Die zweite gibt eine „schlechte Dateideskriptor“ Fehler wie so:Bash doppelte Prozesssubstitution gibt einen schlechten Dateideskriptor
$ foo(){
> cat "$1"
> cat "$2"
> }
$ foo <(echo hi) <(echo bye)
hi
cat: /dev/fd/62: Bad file descriptor
$
Es scheint, dass das zweite Rohr fallen gelassen wird, sobald man verwiesen, aber a) Ich kann dieses Verhalten nicht in irgendeiner Dokumentation zu bestätigen scheinen, und b) Ich wünschte, es würde nicht. =)
Irgendwelche Ideen zu was ich falsch mache? FWIW Ich mache das, um einen Wrapper für die Verwendung des grafischen Diff-Tools von FileMerge von Mac OS X anstelle der Befehlszeile 1 zu erstellen, die bereits mit mehreren Pipes von der Befehlszeile aus arbeiten kann.
-ROB
Das ist keine Antwort ... Ich habe gerade überprüft - es funktioniert auf Linux und schlägt auf OSX, die die OP-Plattform zu sein scheint. –