Anda mungkin mencari pipa bernama .
mkfifo f
{
echo 'V cebqhpr bhgchg.'
sleep 2
echo 'Urer vf zber bhgchg.'
} >f
rot13 < f
Menulis ke pipa tidak memulai program mendengarkan. Jika Anda ingin memproses input dalam satu lingkaran, Anda harus tetap menjalankan program mendengarkan.
while true; do rot13 <f >decoded-output-$(date +%s.%N); done
Perhatikan bahwa semua data yang ditulis ke pipa digabungkan, bahkan jika ada beberapa proses penulisan. Jika banyak proses membaca, hanya satu yang mendapatkan data. Jadi pipa mungkin tidak cocok untuk situasi bersamaan.
Soket bernama dapat menangani koneksi bersamaan, tetapi ini di luar kemampuan untuk skrip shell dasar.
Pada akhir paling kompleks dari skala adalah filesystem kustom , yang memungkinkan Anda merancang dan me-mount filesystem di mana setiap open
, write
, dll, memicu fungsi dalam sebuah program. Investasi minimum adalah puluhan baris kode nontrivial, misalnya dengan Python . Jika Anda hanya ingin menjalankan perintah saat membaca file, Anda dapat menggunakan scriptfs atau fuseflt .
Gilles 'SANGAT berhenti menjadi jahat'
sumber