2017-01-23 152 views
-1

在vagrant文​​件中有对bash脚本的调用。现在,我想的参数传递给它实际上是从以下YAML文件读取的bash脚本是片段如何将参数传递给在vagrantfile内调用的bash脚本?

yaml_hash = YAML.load_file('config.yml') 
    p yaml_hash['servers'] 
    yaml_hash['servers'].each do |letter, hash| 
    p letter 
    p hash['ip'] 
    p hash['pass'] 
    controller.vm.provision :shell, keep_color: true, path: '/controller.sh', :args => [p hash['ip'], p hash['pass']] 
    end 

但上面的一块是“语法错误,意想不到的‘]’,希望keyword_end”我是没有得到什么是错误的,我试图通过围绕论点引用报价也没用。请建议如何将参数传递给bash文件。

回答

1

方法p将其参数输出到输出。您不需要打印值,而是将它们作为参数传递给脚本。从参数列表中删除p

controller.vm.provision :shell, keep_color: true, path: '/controller.sh', 
    :args => [hash['ip'], hash['pass']]