場合によっては、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
ping応答がない場合は、「インターネットなし」というメッセージが表示されます。応答を受信すると、コマンドを実行して終了します。
答え2
定期的にWebサイトをpingし、pingが成功したらコマンドを実行できます。次のようなもの...
result=1
while [ $result -ne 0 ]
do
ping -c 1 www.google.com
result=$?
sleep 5
done
mpg123 /home/user/file.mp3