我正在尝试编写一个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"`
我正在尝试使用 Config file 字符串来检索已安装VM的目录,将字符串修剪为仅VM目录并在那里创建硬盘文件。我该怎么做?
答案 0 :(得分:0)
VBoxManage documentation给出了以下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`
如果我们使用$(...)
代替``
进行命令替换,这两个命令显然可以以嵌套方式组合:
vm_dir="$(dirname $(VBoxManage showvminfo "${vm}" | grep "Config file"| cut -2 -d:))"
我还在整个命令替换中使用"..."
,以防路径中有空格。
接下来,您可以使用文件名"$vm_dir/name_of_your_choice.vdi"
创建包含VBoxManage createhd的磁盘。