我有一个shell脚本,基本上创建一个虚拟机,我用它来做一些处理。该虚拟机会获得一个随机IP地址,我使用VMwares vmrun
实用程序获取该IP地址。该机器可能需要10到20秒的时间才能分配IP地址,该IP地址不是默认的Windows apipa
地址。这是等待IP地址10秒的有效方法吗?
有时我得到一个算术错误,其他时间我不......这个代码有什么错?为什么它间歇性地工作?
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++"
应该转移到超级用户我认为 –
@Petter我也讨论过,但那些失败的代码呢? –
你收到了什么错误? – fedorqui