Назад | Перейти на главную страницу

определять состояние сети, даже если она отключена для миллисекундного сценария оболочки

У меня есть этот сценарий оболочки, который работает постоянно.

#!/bin/sh
while true;
 do ping -c1 www.google.com > /dev/null;
done

Когда я отключаю свой сетевой кабель, этот скрипт выдает ошибку в терминале

ping: unknown host www.google.com

но для выдачи ошибки требуется некоторое время.

Я хочу, чтобы он немедленно выдал ошибку, даже если я отключу свой сетевой кабель на несколько миллисекунд, а затем быстро подключу его. Как мне это сделать?

Я решил проблему с помощью этого утверждения:

ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` > /dev/null && echo ok || echo error

Этот оператор проверяет шлюз по умолчанию и выдает ошибку, даже если есть малейшие проблемы в сети.

Обратитесь к этому ответьте для подробного объяснения