条件Ping Bash无法正常工作

时间:2018-10-31 09:46:11

标签: bash macos shell

我有以下脚本:

machine="www.google.fr"
coupures=0
while true;
do
  PING=`ping -c 1 $machine`
  if [[ $? -eq 0 ]] ; then
    CMD_DATE=`date`
    DATE=`echo $CMD_DATE | tail -1 | cut -c 17-24`
    TIME=`echo $PING | tail -1 | cut -d/ -f 5`
    if [[ ${TIME} < 20 ]] ; then
        echo ${DATE} : ping sur $machine : `echo -e "\033[30m\033[42m${TIME} ms\033[0m"`
    elif ([ ${TIME} > 20 ] && [ ${TIME} < 99 ]) ; then
        echo ${TIME}
        echo ${DATE} : ping sur $machine : `echo -e "\033[30m\033[43m${TIME} ms\033[0m"`
    elif [[ ${TIME} > 99 ]] ; then
        echo ${TIME}
        echo ${DATE} : ping sur $machine : `echo -e "\033[30m\033[41m${TIME} ms\033[0m"`
    else
        echo Erreur non référencée
    fi
    sleep 1
  else
    #$coupures = $coupures + 1
    $coupures = $coupures + 1
    #var=$((var + 1))

    CMD_DATE=`date`
    DATE=`echo $CMD_DATE | tail -1 | cut -c 17-24`
    echo ${DATE} : Coupure réseau - Impossible de joindre la machine $machine
    echo ${DATE} : Nb de coupures réseau : $coupures
  fi
done
done

但是我意识到> 99的条件不起作用。

我该怎么办?

如果TIME大于100,则它将执行第一个条件而不是第二个条件。

除了逗号引起算术问题外,我尝试使用-gt / -lt。

0 个答案:

没有答案