Vagrantfile:将内联shell脚本的结果分配给变量



我想将Vagrantfile中内联shell脚本的退出代码分配给一个变量:

FOO = config.vm.provision "shell", 
env: {
"FILE" => "/tmp/hello"
},
inline: <<-SHELL
[ -f "$FILE" ]; echo $?
SHELL

然后在我的流浪者文件中使用它,比如:

if FOO != 0
...

我尝试的方式显然不起作用。这里有人知道吗

  1. 如果这是可能的,并且
  2. 如果是,如何

我最终使用了这样一种方法。

在这一过程中,我发现Vagrantfile中的所有Ruby条件都是在一开始就求值的,尽管这些条件中的内联Shell脚本(如果有的话(不是同时求值的。这导致了一些奇怪的行为,我可以像上面说的那样避免这些行为。

在这里着陆后,我意识到你实际上可以像ruby中那样分配命令退出代码的输出:

FOO = `mycommand`
BAR = $?.exitstatus

然后将其作为任何其他变量在Vagrantfile中使用。

相关内容

  • 没有找到相关文章

最新更新