Я пытаюсь отправить некоторые данные на сервер с помощью команды, например nc -w 3 IP_ADDRESS PORT < data
где nc - это netcat из FreeBSD 5.4. Когда сервер не отвечает в течение 3 секунд, я вообще не получаю никаких указаний (код выхода равен 0, а вывод терминала отсутствует). Как я могу отправить данные на сервер и получить уведомление, когда истекает время ожидания?
1
1 ответ
3
Используйте опцию verbose и убедитесь, что количество отправленных байтов не равно нулю. Например, используя awk для выхода 1, если счетчик равен нулю:
nc -v -w 3 localhost 80 2>/tmp/log
awk '/bytes sent/{exit($2==0)}' < /tmp/log
echo $?