0

我正在尝试编写一个 bash 脚本,该脚本允许我在设置 VM 的文件夹中创建一个 Virtualbox VDI 存储文件。这是我到目前为止的代码:

vm="Windows 7"
vm_type=Windows7

VBoxManage createvm --name "${vm}" --ostype "${vm_type}" --register
VBoxManage modifyvm "${vm}" --memory 2048 --acpi on --boot1 dvd
VBoxManage modifyvm "${vm}" --nic1 bridged --bridgeadapter1 eth0
vm_dir = `VBoxManage showvminfo "${vm}" | grep "Config file"`

我正在尝试使用配置文件字符串来检索已安装 VM 的目录,将字符串修剪到仅 VM 目录并在那里创建硬盘文件。我怎么做?

4

1 回答 1

0

VBoxManage 文档给出了 Config 文件行的以下示例:

Config file:     /home/username/.VirtualBox/Machines/Windows XP/Windows XP.xml

因此,如果我们将您的分配更改vm_dir为:

vm_dir=`VBoxManage showvminfo "${vm}" | grep "Config file"| cut -2 -d:`

我们有配置文件的路径。注意:删除周围的空格=是不正确的。要提取它的目录部分,我们将使用dirname

vm_dir=`VBoxManage showvminfo "${vm}" | grep "Config file"| cut -2 -d:`
vm_dir=`dirname $vm_dir`

$(...)如果我们使用for 命令替换而不是,这两个命令显然可以以嵌套方式组合``

vm_dir="$(dirname $(VBoxManage showvminfo "${vm}" | grep "Config file"| cut -2 -d:))"

如果路径中有空格,我也会使用"..."整个命令替换。

接下来,您可以使用文件名使用VBoxManage createhd"$vm_dir/name_of_your_choice.vdi"创建磁盘。

于 2013-06-08T02:05:01.880 回答