Я хочу вывести некоторые данные в канал, а другой процесс сделать что-то по строкам данных. Вот пример игрушки:
mkfifo pipe
cat pipe&
cat >pipe
Теперь я могу ввести все, что захочу, и после нажатия enter я сразу вижу ту же строку. Но если заменить вторую трубку на echo
:
mkfifo pipe
cat pipe&
echo "some data" >pipe
Труба закрывается после завершения echo
и cat pipe&
, чтобы я не мог передавать больше данных через трубу. Есть ли способ избежать закрытия трубы и процесса, который получает данные, чтобы я мог передавать много строк данных через канал из bash script и обрабатывать их по мере их поступления?