#!/bin/bash ##define variables address=«email@email.com» ping_ip=192.168.200.112 echo «ip for ping is: » $ping_ip while true; do # COUNT=$(find . -mmin -10 -type f | wc -l) # if [ $COUNT eq 0 ]; then ping -c3 $ping_ip >/dev/null if [ $? != 0 ];then echo $?; echo «Ping Fail - `date`»; body=" Admin, we have problems on S2! last incoming files was: $ping_ip ,`date` " ; echo -e $body | mail -S smtp=220.20.30.23 -S from=email@email.com -s «Ping Warning on S2» $address; fi echo «Host Found - `date`»; sleep 60; done; echo «SCRIPT ENDED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!» вобщем, тут сразу две проблемы - в данном случае, если хост пингуется, всё выглядит ок - отрабатывает только часть кода с host found sleep : Host Found - Fri Nov 24 13:21:51 GMT 2017 Host Found - Fri Nov 24 13:22:53 GMT 2017 но если хост не отвечают - обе конструкции почему то начинают работать: ip for ping is: 192.168.200.112 0 Ping Fail - Fri Nov 24 13:19:45 GMT 2017 Host Found - Fri Nov 24 13:19:45 GMT 2017 и так по кругу, хотя в случае фэйла должно отрабатывать только «ping fail» ...? если же применить if [ $? eq 0 ];then то сыплет такими ошибками почему-то ./noping_wkg.scr: line 17: [: eq: binary operator expected как это всё побороть, и почему так? Буду благодарен за советы и комментарии...