当互联网恢复时如何执行命令

当互联网恢复时如何执行命令

有时我的wifi已连接到路由器,但我的路由器未连接到互联网。当我的互联网恢复时,如何执行命令(从命令行)?我想执行:

mpg123 /home/user/file.mp3

答案1

尝试这个:

#!/bin/bash
while :; do
    ping -c 1 8.8.8.8 >/dev/null 2>&1
    if [ $? = 0 ]; then
        break
    else
        echo 'No internet'
    fi
    sleep 1
done
mpg123 /home/user/file.mp3

如果没有 ping 响应,它将显示“无互联网”消息。如果它得到响应,它将执行您的命令并退出。

答案2

您可以定期 ping 网站并在 ping 返回成功时执行命令。像下面这样的东西......

result=1
while [ $result -ne 0 ]
do
   ping -c 1 www.google.com
   result=$?
   sleep 5
done
mpg123 /home/user/file.mp3

相关内容