Get VirtualBox id (uuid) from Vagrantfile



我正试图从一个新创建的vm的Vagrant文件中发现它的uuid。我知道价值在某个地方,但我似乎无法挖掘出来。

该值将用于嵌入式VBoxManage命令:

%x(VBoxManage guestproperty get #{vm.id} "/VirtualBox/GuestInfo/Net/1/V4/IP")

两种可能的解决方案:

首先,只需为虚拟机设置一个唯一的名称并使用它:

v.customize ["modifyvm", :id, "--name", "My unique VM name"]

其次,可能是在阅读.vagrant/machines/default/virtualbox/id的内容,尽管这感觉有点可怕。

第二,可能是阅读.varranget/machines/default/virtualbox/id尽管感觉有点可怕的

为什么它很可怕?该文件只包含Id本身,因此没有解析,并且每个提供者都有该文件

像这样的东西会直接作用于

Vagrant.configure(2) do |config|
  p "read id " + File.read(".vagrant/machines/default/vmware_fusion/index_uuid")

所以会给你

$ vagrant up
"read id 678add84e58c4c918d498a2b629f30f7"

最新更新