Как выполнить команду, когда интернет вернулся

Иногда мой Wi-Fi подключен к маршрутизатору, но мой маршрутизатор не подключен к Интернету. Как я могу выполнить команду, когда мой интернет вернулся (из командной строки)? Я хочу выполнить:

mpg123 /home/user/file.mp3 

2 Solutions collect form web for “Как выполнить команду, когда интернет вернулся”

Попробуй это:

 #!/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 возвращает успех. Что-то вроде следующего …

 result=1 while [ $result -ne 0 ] do ping -c 1 www.google.com result=$? sleep 5 done mpg123 /home/user/file.mp3 
  • Замените все цифры номера социального страхования (SSN) на X
  • Как отслеживать последний PID, назначенный ядром?
  • Нужна помощь с использованием Netcat
  • Проблемы с запуском скрипта python
  • как реализовать logrotate в сценарии оболочки
  • 'xz -d' против `unxz`
  • Сценарий оболочки для установки пароля для пользователя samba
  • При настройке SFTP между * nix-серверами, является ли это обычное рукопожатие необязательным?
  • Как преобразовать текст или символ в hex в оболочке korn
  • Как отобразить IP-адрес интерфейса по умолчанию с подключением к Интернету?
  • Ошибка QProcess: разрушена, пока процесс все еще запущен
  • Linux и Unix - лучшая ОС в мире.