當網路恢復時如何執行指令

當網路恢復時如何執行指令

有時我的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

相關內容