我想将Vagrantfile中内联shell脚本的退出代码分配给一个变量:
FOO = config.vm.provision "shell",
env: {
"FILE" => "/tmp/hello"
},
inline: <<-SHELL
[ -f "$FILE" ]; echo $?
SHELL
然后在我的流浪者文件中使用它,比如:
if FOO != 0
...
我尝试的方式显然不起作用。这里有人知道吗
- 如果这是可能的,并且
- 如果是,如何
我最终使用了这样一种方法。
在这一过程中,我发现Vagrantfile中的所有Ruby条件都是在一开始就求值的,尽管这些条件中的内联Shell脚本(如果有的话(不是同时求值的。这导致了一些奇怪的行为,我可以像上面说的那样避免这些行为。
在这里着陆后,我意识到你实际上可以像ruby中那样分配命令退出代码的输出:
FOO = `mycommand`
BAR = $?.exitstatus
然后将其作为任何其他变量在Vagrantfile
中使用。