как сделать множественное перенаправление с помощью команды и fifo

387
Ciccio

Мне нужно написать bash-скрипт на машине linux с последующим перенаправлением.

echo commands > cmd_receives_commands > fifo > awk_parser > tcp_socket 

Я проверил, что для "tcp_socket" работает конструкция:

echo 3<> /dev/tcp/address/port cmd >&3 echo 3<&- 

Для остальной части сценария я попробовал это:

mkfifo fifo  ./parser.awk <&4 > out exec 4>fifo exec 3> >(cmd1 >&4)  echo to_cmd1 >&3 echo end $(date +%s) >&4 exec 3<&- exec 4<&- 

но они не работают, потому что файл не записывается.

0
Есть ли причина, по которой вы не можете использовать `pipe`, как это делают большинство людей? Например, `echo" это тест \ n, это всего лишь тест. " | только grep | awk '' `выведет" test ". jeremysprofile 6 лет назад 1
Несколько перенаправлений в команде. Вот почему в Linux есть | [Pipes] | C0deDaedalus 6 лет назад 0
действительно есть причина. в моем примере шаг «cmd_receives_commands» является частной командой, которая, если она запускается вручную, возвращает приглашение. Мне также нужно построить цикл для повторения одной и той же команды (для мониторинга) много времени и в конечном итоге перехватить вывод перед парсером (я думал с хвостом в fifo). Ciccio 6 лет назад 0
Я наконец понял свою (большую) ошибку. Это около пятерки. После прочтения данные исчезли. Ciccio 6 лет назад 0

0 ответов на вопрос

Похожие вопросы