我有这个持续运行的 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 默认网关,即使网络出现轻微问题,也会给出错误
参考此详细解释一下