2017-04-07 47 views
0

我想创建一个shell脚本来检查虚拟机是否在OSX上运行,如果它当前不在运行我想启动它,我有我想到的方式检查它是否正在运行,以及如果没有启动它的方式。我没有为使这一切工作的语法...任何帮助表示赞赏:Shell脚本OSX - 虚拟融合(VMRun)

命令1

/Applications/VMware\ Fusion.app/Contents/Library/vmrun list | grep -q ".vmx" 

将返回“的.vmx”只有在有对活动虚拟机上运行VMFusion。我想用这个命令并使其有条件对应于该命令使用方法:

命令2

/Applications/VMware\ Fusion.app/Contents/Library/vmrun -T fusion start "PATHTOVMXFILE/Windows 7.vmx" 

这将启动VM。

的逻辑是:

infinite loop 
{ 
Command 1 
If the return of the Command 1 is not ".vmx" 
then run Command 2 
else 
do nothing 
continue looping 
} 

回答

0

你的意思是这样:

while true; do 
    command_one=$(/Applications/VMware\ Fusion.app/Contents/Library/vmrun list | grep -q \".vmx\") 
    if [ $command_one = ".vmx" ]; then 
     $(/Applications/VMware\ Fusion.app/Contents/Library/vmrun -T fusion start \"PATHTOVMXFILE/Windows 7.vmx\") 
    else 
     sleep 1; 
    fi 
done 
+0

基本上男人,谢谢你,我唯一会改变的,将执行命令,如果command_one = '.vmx“,但我认为我可以处理该部分!欣赏帮助。 – Mike

+0

好的。如果它可以正常工作,也许您可​​以将它标记为已解决?Thnx! – Montmons

+0

完成。再次感谢。 – Mike