![当互联网恢复时如何执行命令](https://linux22.com/image/88644/%E5%BD%93%E4%BA%92%E8%81%94%E7%BD%91%E6%81%A2%E5%A4%8D%E6%97%B6%E5%A6%82%E4%BD%95%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4.png)
有时我的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