0

基本的に、何らかの処理を行うために使用する vm を作成するシェル スクリプトがあります。この VM には、VMwaresvmrunユーティリティを使用して取得したランダムな IP アドレスが与えられます。デフォルトの Windows アドレスではない IP アドレスがマシンに割り当てられるまで、10 秒から 20 秒かかりapipaます。

算術エラーが発生する場合もあれば、そうでない場合もあります...このコードの何が問題なのですか? 断続的に機能するのはなぜですか?

IP=`vmrun -T ws readVariable MY_VM guestVar ip`
if [ ! -z `echo $IP | grep "169.254"` ]
then
  i=0
  while [ ! -z `echo $IP | grep "169.254"` ]
  do
    if [ $i -eq 10 ]
    then
      echo "$IP has been unresponsive for 10 seconds.  Now quitting."
      exit 1
    else
      sleep 1
      i=$((i++))  # This is where the error occurs
      IP=`vmrun -T ws readVariable MY_VM guestVar ip`
    fi
  done
fi

これを行うより良い方法はありますか?

エラーメッセージ:

arithmetic expression: expecting primary: "i++"
4

2 に答える 2