0

VM をセットアップしたフォルダーに Virtualbox VDI ストレージ ファイルを作成できるようにする bash スクリプトを作成しようとしています。これまでのコードは次のとおりです。

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`

$(...)これらの 2 つのコマンドは、代わりにコマンド置換を使用すると、ネストされた方法で組み合わせることができます``

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

"..."また、パスに空白が含まれている場合に備えて、コマンド置換全体を使用しています。

次に、filename を使用してVBoxManage createhd"$vm_dir/name_of_your_choice.vdi"でディスクを作成できます。

于 2013-06-08T02:05:01.880 に答える