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