我有一个 shell 脚本,它基本上创建了一个我用来做一些处理的 vm。这个虚拟机有一个随机的 IP 地址,我使用 VMwaresvmrun
实用程序获得。机器可能需要 10 到 20 秒的时间才能获得一个不是默认 Windows 地址的 IPapipa
地址。
有时我得到一个算术错误,而其他时候我没有......这段代码有什么问题?为什么它会间歇性地工作?
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++"