LINUX.ORG.RU

Скрипт опроса IP в фоне.

 , ,


0

1

Добрый день! Начал писать небольшой скриптик, через который можно было бы ввести ip,а скрипт в фоне с заданным периодом пинговал его(если не в сети) и потом выводил мне оповещение о поднятии хоста. Прошу помочь, тк в баше еще слаб, но интересно.

#!/bin/sh

while [ 1 ] do host=`zenity --title=«Ping» --text=«ip-adress for ping» --entry` || exit

if [ -z $host ] then zenity --warning --text «Не введен IP» --width=300

else ping -c 10 «$host» 2>&1 | zenity --title=«Ping» --width=700 --height=300 --text-info

fi

done

Это тело пока выдает пару окон после ввода ip(или пустого поля). Интервал задам через sleep, работу в фоне тоже вроде понял. Мне непонятно как реализовать маску по которой собственно и будет определяться - подялся хост или нет. Думал через echo пинга, но не пойму как. Скрипт несет чисто учебный характер.

не судите строго, можно так

if ping -c 1 -s 1 -W 1 host
then
   alive
else
   dead
fi

Morin ★★★★
()
Последнее исправление: Morin (всего исправлений: 1)

ну и собственно кратенько

#!/bin/bash

if ping -c 1 -s1 -W 1 $1
then
   echo "connection good"
else
   echo "connection lost"
fi

Morin ★★★★
()
Ответ на: комментарий от zolden

Не люблю подобные конструкции, ну и в баше «и» «или» весьма странно интерпретируются, взять хотя бы приведенное тобой выражение

Morin ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.