如何通过终端检查互联网连接是否可用

如何通过终端检查互联网连接是否可用

我正在尝试编写一个可以感知互联网连接的 Bash 脚本。

我怎样才能实现这个目标?

例如:

if (something that checks internet connection);then
curl -o new someurl
else 
exit 1

答案1

尝试使用该curl命令并在语句中检查退出状态if

curl -D- -o /dev/null -s http://www.google.com
if [[ $? == 0 ]]; then
  foocode
else
  exit 1
fi

答案2

当我有一个支持 snmp 的路由器时,我使用 snmp 来获取分配给 Wan 接口的 ip(.253 是路由器地址):

IP=$(/usr/bin/snmpwalk -v2c -Ov -cpublic 192.168.1.253 \
          IP-MIB::ipAdEntAddr 2>/dev/null \
          | /bin/grep -v "0.0.0.0\|127.0.0.1\|192.168.1.253")

或者你可以韦布斯卡普从路由器的统计页面卷曲

目前我使用动态 DNS 服务来检查/获取 IP:

IP=$(curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: \([0-9\.]*\).*/\1/g')

进而:

if [ "$IP" != "" ] && [ "$IP" != "0.0.0.0" ]; then
   # connected

相关内容