首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vmrun超时命令

Vmrun超时命令
EN

Stack Overflow用户
提问于 2013-07-11 13:20:28
回答 1查看 775关注 0票数 0

我编写了一个脚本,使用VMrun运行Vmware windows来宾,在镜像中运行脚本,并关闭VMware会话。脚本如下:

代码语言:javascript
复制
vmrun start XP/XP/"Windows XP Pro SP3_original.vmx"  

~/Desktop$ vmrun -gu ** -gp ** runProgramInGuest XP/XP/"Windows XP Pro SP3_original.vmx" "C:\Documents and Settings\Computer\Desktop\script.bat"

vmrun stop XP/XP/"Windows XP Pro SP3_original.vmx"

但是,在映像启动和运行之前,脚本会执行最后两个命令,因此不会在Windows来宾操作系统中运行脚本。有没有什么方法可以等到映像打开后再继续执行命令?

EN

回答 1

Stack Overflow用户

发布于 2013-07-12 01:34:02

我要做几个假设:

1.)您的计算机将获得有效的IP地址,而不是machine APIPA地址。

2.)您正在运行VMware工作站(具有readVariable选项)

如果是这种情况,您可以ping机器并等待有效的IP,然后以这种方式执行您的脚本:

代码语言:javascript
复制
#!/bin/bash

vmrun start XP/XP/"Windows XP Pro SP3_original.vmx" 

win_ip=$(vmrun -T ws readVariable $YOUR_MACHINE guestVar ip)

# First loop waits for the address variable to populate
while [ -z $win_ip ]
do
   win_ip=$(vmrun -T ws readVariable $YOUR_MACHINE guestVar ip)
done

# Second loop waits for a valid address
while [ ! -z $(printf $win_ip | grep "169.254") ]
do
   win_ip=$(vmrun -T ws readVariable $YOUR_MACHINE guestVar ip)
done 

~/Desktop$ vmrun -gu ** -gp ** runProgramInGuest XP/XP/"Windows XP Pro SP3_original.vmx" "C:\Documents and Settings\Computer\Desktop\script.bat"

vmrun stop XP/XP/"Windows XP Pro SP3_original.vmx"

这样做可以确保网络完全初始化,以防您的脚本依赖于网络来实现任何功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17585575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档