Остановите netcat, как только grep совпадет с чем-нибудь

Благодаря @gollum, после нескольких повторных попыток мы выяснили, что проблема связана с gdm, поэтому решением было установить lightdm (apt-get install lightdm), и это устранило проблему.

1
31.01.2019, 18:02
1 ответ

Вы хотите настроить так, чтобы ncубивался, как только grepзавершается. Вот один из способов:

( subshell_pid=$BASHPID ; echo 'my_command' | nc $IP $PORT > >(grep -m 1 EXPECTED_OUTPUT ; kill -13 -- -$subshell_pid ; ) )

Все это выполняется в подоболочке, а затем убивает все процессы, запущенные подоболочкой, когда grepзавершается.

>()— это подстановка процесса , которая позволяет передавать от одной команды к нескольким командам.

2
27.01.2020, 23:31

Теги

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