是否可以将配置脚本中的值返回给vagrant?
response = config.vm.provision( "shell", path: "script.sh" )
if response = 'ok'
do_something
end
我在流浪汉docs中看不到任何描述如何做到这一点的事情。
答案 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中的给定文件。
注意: