使用虚拟框

时间:2017-11-26 15:28:15

标签: bash virtualbox

我正在尝试编写一个尽可能简单的bash脚本,以便从“父”虚拟机(称为peer00)克隆虚拟机。为了克隆这些机器,我首先需要一个快照。

vboxmanage snapshot peer00 delete "MySnapShot"
vboxmanage snapshot peer00 take "MySnapShot"

# for loop to create several machines

现在如果我在没有MySnapShot快照时运行此脚本,我会收到以下错误(显然):

  

VBoxManage:错误:找不到名为“MySnapShot”的快照   VBoxManage:错误:详细信息:代码VBOX_E_OBJECT_NOT_FOUND(0x80bb0001),组件SessionMachine,接口IMachine,被调用者nsISupports   VBoxManage:错误:上下文:“FindSnapshot(Bstr(a-> argv [2])。raw(),pSnapshot.asOutParam())”在文件VBoxManageSnapshot.cpp的第514行

另一方面,如果我在快照已经存在的情况下运行它,我会得到另一个输出:

  

0%...   进度状态:NS_ERROR_FAILURE   VBoxManage:错误:快照操作失败   VBoxManage:错误:硬盘'/ home / pietro / VirtualBox VMs / peer00 / Snapshots / {0183ad41-71b6-41bf-af74-38db828b2d82} .vdi'有多个子硬盘(7)   VBoxManage:错误:详细信息:代码NS_ERROR_FAILURE(0x80004005),组件SessionMachine,接口IMachine   VBoxManage:错误:上下文:文件VBoxManageSnapshot.cpp的第532行的“RTEXITCODE handleSnapshot(HandlerArg *)”

如何编写一种“if语句”,在尝试删除快照之前检查快照是否已存在?而且为什么我得到第二个错误?我真的不明白

0 个答案:

没有答案