Здравствуйте, подскажите пж-та, не могу никак сообразить: необходимо с помощью bash-скрипта проверять доступность ресурса www.google.com с помощью утилиты ping (отправляется 4 пакета) и в случае если процент потерь составляет 75% и больше (потерялось 3 пакета из 4 или 4 из 4), необходимо выполнить действие 1. Если процент потерь менее 75%, то выполнять действие 2. Не могу понять, как это реализовать. Пока сделал так:
ping www.google.com -c 4 -q -w 30 &>/dev/null
rezult=$?
if [ $rezult != 0 ]; then
echo "действие 1"
else
echo "действие 2"
Но данный способ не учитывает % потерь, условие срабатывает, даже если теряется 1 пакет
проверка доступности ресурса с учетом % потерь
Модератор: Bizdelnick
Re: проверка доступности ресурса с учетом % потерь
Код: Выделить всё
#!/bin/bash
t="$(ping -c 5 -q www.google.com | grep -oP '\d+(?= received)')"
if [ "$t" == 1 ]; then
echo "1"
fi
if [ "$t" == 2 ]; then
echo "2"
fi
if [ "$t" == 3 ]; then
echo "3"
fi
if [ "$t" == 4 ]; then
echo "4"
fi
if [ "$t" == 5 ]; then
echo "5"
fi
ad infinitum
Re: проверка доступности ресурса с учетом % потерь
Shell
CMD=$(ping -c4 google.com | grep -c Unreachable)
case $CMD in
1|2) echo "Fail count is low"
;;
3|4) echo "Fail count is high"
;;
ecas