我试图从其Vagrantfile中发现新创建的vm的uuid。我知道价值存在于某个地方,但我似乎无法将其挖掘出来。
该值将用于嵌入式VBoxManage
命令:
%x(VBoxManage guestproperty get #{vm.id} "/VirtualBox/GuestInfo/Net/1/V4/IP")
两种可能的解决方法:
首先,只需为VM设置一个唯一的名称并使用:
v.customize ["modifyvm", :id, "--name", "My unique VM name"]
其次,可能正在阅读.vagrant/machines/default/virtualbox/id
的内容,尽管这有点可怕。
答案 0 :(得分:1)
第二,可能正在阅读的内容 .vagrant / 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"