У меня есть команда, которая потенциально выводит много данных на стандартный вывод, и мне нужно загрузить их через ftp в удаленное местоположение.
Я нашел этот вопрос Выгрузить вывод программы непосредственно вудаленный файл по ftp , и мне очень понравилась идея перенаправить вывод в именованный канал, а затем прочитать ненужные файлы из него.однако, как только я прочитал первый блок через dd, команда, вводимая в канал, просто завершается, и больше нет данных для чтения из канала.
, чтобы проверить это, я создал fifo
#> mkfifo fifo
затем я написал в fifo на одной оболочке:
#> echo bla > fifo
, а на другой оболочке я прочитал с нее:
#> dd if=fifo of=spool.1 bs=1 count=1
выводит первый байт в спул.1 изатем команда, записывающая в канал, завершается, и я не могу прочитать оставшиеся данные из канала.
Я хотел бы прочитать следующий фрагмент из этого канала, но не могу понять, что я делаю неправильно
есть идеи, как сохранить этот канал открытым, пока все данные не будут считаны из него?