基本的に、何らかの処理を行うために使用する 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++"