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

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

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

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

ping: unknown host www.google.com

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

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

0
задан 11 January 2019 в 09:42
1 ответ

Я решил проблему с помощью этого оператора:

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

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

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

0
ответ дан 5 December 2019 в 04:34

Теги

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