将值从配置脚本返回到vagrant

时间:2014-01-14 15:25:42

标签: vagrant

是否可以将配置脚本中的值返回给vagrant?

response = config.vm.provision( "shell", path: "script.sh" )

if response = 'ok'
   do_something
end

我在流浪汉docs中看不到任何描述如何做到这一点的事情。

2 个答案:

答案 0 :(得分:1)

据我所知,我不认为可以返回这样的值。

然而,您可以通过让配置脚本在来宾计算机的/vagrant目录中写入文件来轻松解决此问题。

然后,您可以使用Ruby处理此文件,该文件与Vagrantfile位于同一文件夹中。

答案 1 :(得分:1)

我可以通过以下方式从VM中获取它:

在Windows上:

config.trigger.after :provision do |trigger|
    trigger.name = "create token"
    trigger.run = {"inline": "vagrant ssh --no-tty -c 'hostname' master01 > test.txt"}
end

在Mac上:

config.trigger.after :provision do |trigger|
  trigger.name = "create token"
  trigger.run = {"inline": "/bin/bash -c 'vagrant ssh --no-tty -c "hostname" master01 > test.txt'"}
end

这会将命令的输出从VM转储到主机上CWD中的给定文件。

注意: