Есть ли способ заставить успешный запуск терминала Ubuntu 14.04 или, если ему не удается пропинговать Google, другой звук, например, если Wi-Fi не работает? Если это так, как бы я сделал это на постоянном цикле в фоновом режиме, после определенного промежутка времени? Я предполагаю, что это будет что-то вроде (команда); сон (продолжительность); сделано или подобное?
Вопрос на самом деле немного широкий, AskUbuntu для конкретных вопросов, и это больше похоже на то, как кто-то может сделать мне сценарий.
Но, эй, это всего лишь пара строк, давайте начнем:
#!/bin/bash
while "true"
do
ping -w 10 -c 5 www.google.com
if test $? -ne '0'
then
spd-say "connection lost"
sleep 3s
fi
done
По сути, мы повторяем бесконечный цикл с помощью команды ping и проверяем, завершается ли он с ошибкой. ($? дает код завершения ранее выполненной программы).
Для синхронизации вы можете просто изменить команду ping. Теперь включите ваши динамики и наслаждайтесь. :)
ping -A 1.2.3.4 Параметр в верхнем регистре A, посылающий нам звуковой сигнал всякий раз, когда цель перестает отвечать на наш пинг.
Хотя
ping -a IP_ADDRESS
издает звуковой сигнал (например, echo -e "\a"
) каждый раз, когда он успешен, я не нашел ни одной опции в стандарте ping
команда подавать звуковой сигнал при сбое.
На основе @Request answer одна строка, которая с помощью crontab
устанавливает желаемое поведение каждые 5 минут, может быть:
(crontab -l 2>/dev/null; echo "*/5 * * * * /bin/ping -w 10 -c 4 8.8.8.8 || spd-say 'off'") | crontab -
Примечание. crontab, вам нужно будет использовать crontab -e
, чтобы отключить его, удалив введенную строку (или отредактировав ее параметры).