Có lẽ dễ hiểu hơn nếu bạn sử dụng teetrướ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 onevà 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ờ peethự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 teevớ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 catnhận được đầu ra tiêu chuẩn và thực hiện những gì catđang làm, đó là in.
stdinvà đư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