Có lẽ dễ hiểu hơn nếu bạn sử dụng tee
trước. Công cụ cũ hữu ích này nhận đầu vào tiêu chuẩn và ghi ra nhiều tệp, cộng với đầu ra tiêu chuẩn. Sau đây là
echo "Hello world" | tee one two
Sẽ tạo hai tệp, được đặt tên one
và two
, cả hai đều chứa chuỗi Hello world
. Nó cũng sẽ in ra thiết bị đầu cuối của bạn.
Bây giờ pee
thực hiện một chức năng tương tự nhưng thay vì chuyển hướng đầu ra sang nhiều tệp, nó chuyển hướng đến nhiều lệnh phụ, ống ala. Nó khác một chút so tee
với khía cạnh rằng nó không gửi stdin gốc đến thiết bị xuất chuẩn vì sẽ không có ý nghĩa khi kết hợp nó với đầu ra của các lệnh phụ. Ví dụ rất đơn giản sau đây:
echo "Hello world" | pee cat cat
Sẽ xuất chuỗi Hello world
đến thiết bị đầu cuối của bạn hai lần. Điều này là do mỗi một trong hai trường hợp cat
nhận được đầu ra tiêu chuẩn và thực hiện những gì cat
đang làm, đó là in.
stdin
và đưa bản sao cho mọi tập lệnh toán học mẫu tên tệp, liệu bash có thể làm điều này không? AFAIU nó sẽ mở rộng dấu bên trong dấu ngoặc causnig cái gì đó nhưtee >(app1 app2 app3 app4)
đó không phải là>(app1) >(app2) >(app3) >(app4)
rằng chương trình câu trả lời của bạn