我有一個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