인터넷이 다시 돌아올 때 명령을 실행하는 방법

인터넷이 다시 돌아올 때 명령을 실행하는 방법

때로는 Wi-Fi가 라우터에 연결되어 있지만 라우터가 인터넷에 연결되어 있지 않은 경우가 있습니다. 인터넷이 복원될 때 명령줄에서 명령을 어떻게 실행합니까? 나는 다음을 실행하고 싶다:

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

핑 응답이 없으면 "인터넷 없음" 메시지가 표시됩니다. 응답을 받으면 명령을 실행하고 종료됩니다.

답변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

관련 정보