Giả sử rằng tôi có các chương trình P0
, P1
, ... P(n-1)
đối với một số n > 0
. Làm thế nào tôi có thể dễ dàng chuyển hướng đầu ra của chương trình Pi
sang chương trình P(i+1 mod n)
cho tất cả i
(0 <= i < n
)? Ví dụ, giả sử tôi có một chương trình square
, liên tục đọc một số và in hình vuông của số đó, và một chương trình calc
, đôi khi in một số sau đó nó hy vọng có thể đọc được hình vuông của nó. Làm cách nào để kết nối các chương trình này sao cho bất cứ khi nào calc
in một số, các ô vuông square
nó trả lại nó thành calc
?Cách tạo vòng lặp ống trong bash
Chỉnh sửa: Tôi có lẽ nên làm rõ ý tôi là "dễ dàng". Giải pháp ống/FIFO được đặt tên là một giải pháp thực sự hoạt động (và tôi đã sử dụng trong quá khứ), nhưng nó thực sự đòi hỏi khá nhiều công việc để làm đúng nếu bạn so sánh nó bằng cách sử dụng một đường ống bash. (Bạn cần lấy tên tệp chưa tồn tại, tạo một đường ống với tên đó, chạy "vòng lặp ống", làm sạch đường ống có tên.) Hãy tưởng tượng bạn không còn có thể viết prog1 | prog2
và luôn phải sử dụng các đường ống được đặt tên để kết nối các chương trình .
Tôi đang tìm một thứ gần như dễ dàng như viết một ống "bình thường". Ví dụ một cái gì đó như { prog1 | prog2 } >&0
sẽ là tuyệt vời.
Bạn có thể đưa ra ví dụ về Zsh không? Tôi quan tâm đến nó. –