0

ping 関数がループしているようです。
理由を知っている人はいますか?

Bash-x 出力:

++ PING='ping -q -c1'
++ ping -q -c1 -q
++ TEMPIP=-q
++ PING='ping -q -c1'
++ ping -q -c1 -q
++ TEMPIP= -q
++ PING='ping -q -c1'
++ ping -q -c1 -q
++ TEMPIP=-q
++ PING='ping -q -c1'

コード:

IP1="10.1.1.2"
IP2="10.1.1.3" 
IP3="10.1.1.4"
SEC=300

function ping {
   TEMPIP="$1"
   PING="ping -q -c1"

   ${PING} ${TEMPIP}

   if [ $? -ne 0 ]
   then 
       echo 1
   else
       echo 0
   fi

}

  function resetrouter {
  #dosomething
}

function check {
    IP1result=$(ping $IP1)
    IP2result=$(ping $IP2)
    IP3result=$(ping $IP3)
}

小切手

4

2 に答える 2

0

関数を呼び出す場合は、関数内のコマンドpingへのフル パスを使用する必要があります。pingこれは、次のように呼び出すことで確認できます。

$ which ping
/usr/bin/ping

そうPING="ping -q -c1"なるだろうPING="/usr/bin/ping -q -c1"

于 2013-10-27T10:48:39.087 に答える