Khi tôi cố gắng tham chiếu đến hai ống thay thế quy trình trong một hàm bash, chỉ có tác phẩm được tham chiếu đầu tiên. Điều thứ hai đưa ra một "mô tả tập tin xấu" lỗi như vậy:Bash thay thế quá trình kép cho bộ mô tả tập tin sai
$ foo(){
> cat "$1"
> cat "$2"
> }
$ foo <(echo hi) <(echo bye)
hi
cat: /dev/fd/62: Bad file descriptor
$
Dường như các đường ống thứ hai được giảm một lần một được tham chiếu, nhưng a) Tôi dường như không thể xác nhận hành vi này trong bất kỳ tài liệu và b) Tôi ước nó sẽ không. =)
Bất kỳ ý tưởng nào về những gì tôi đang làm sai? FWIW Tôi đang làm điều này để tạo ra một trình bao bọc để sử dụng công cụ khác biệt đồ họa FileMerge của Mac OS X thay vì dòng lệnh, đã sẵn sàng làm việc với nhiều đường ống từ dòng lệnh.
-Rob
Đó không phải là một câu trả lời ... Tôi vừa kiểm tra - nó hoạt động trên Linux và không hoạt động trên OSX, mà dường như là nền tảng của OP. –