检测网络状态即使断开一毫秒的shell脚本

检测网络状态即使断开一毫秒的shell脚本

我有这个持续运行的 shell 脚本。

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

当我断开局域网电缆时,此脚本会在终端中抛出错误

ping: unknown host www.google.com

但抛出错误需要一些时间。

我希望它立即抛出错误,即使我断开局域网电缆几毫秒然后快速连接。我该怎么做?

答案1

我使用以下语句解决了该问题:

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

此语句将 ping 默认网关,即使网络出现轻微问题,也会给出错误

参考此详细解释一下

相关内容