Bạn có thể đang tìm kiếm một đường ống được đặt tên .
mkfifo f
{
echo 'V cebqhpr bhgchg.'
sleep 2
echo 'Urer vf zber bhgchg.'
} >f
rot13 < f
Viết vào ống không bắt đầu chương trình nghe. Nếu bạn muốn xử lý đầu vào trong một vòng lặp, bạn cần tiếp tục chạy chương trình nghe.
while true; do rot13 <f >decoded-output-$(date +%s.%N); done
Lưu ý rằng tất cả dữ liệu được ghi vào đường ống được hợp nhất, ngay cả khi có nhiều quá trình viết. Nếu nhiều quá trình đang đọc, chỉ có một quá trình nhận được dữ liệu. Vì vậy, một đường ống có thể không phù hợp cho các tình huống đồng thời.
Một ổ cắm có tên có thể xử lý các kết nối đồng thời, nhưng điều này vượt quá khả năng cho các kịch bản shell cơ bản.
Vào cuối phức tạp nhất của quy mô là hệ thống tập tin tùy chỉnh , cho phép bạn thiết kế và gắn kết một hệ thống tập tin trong đó mỗi open
, write
vv, gây nên một hàm trong một chương trình. Đầu tư tối thiểu là hàng chục dòng mã hóa không cần thiết, ví dụ như trong Python . Nếu bạn chỉ muốn thực thi các lệnh khi đọc tệp, bạn có thể sử dụng scriptfs hoặc fuseflt .