【发布时间】:2017-03-22 03:28:29
【问题描述】:
我必须根据我必须从 ubuntu 节点获得的结果从配方中执行一个脚本。我必须让代理的版本运行,并在此基础上执行脚本。以下是我正在运行的配方中的条件。
notifies :run, 'bash[uninstall CloudPassage]', :immediate
only_if { Mixlib::ShellOut.new("dpkg -s cphalo | grep Version | awk '{print $2}'" -lt "3.9.5").run_command.success? }
但它给出了一个语法。谁能帮我从 ubuntu 节点获取版本号的语法。
语法错误:
FATAL: Cookbook file recipes/default.rb has a ruby syntax error: FATAL: /home/ubuntu/chef-repo/cookbooks/cloudPassage/recipes/default.rb:27:syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' FATAL: ...rsion | awk '{print $2}'" -lt "3.9.5").run_command.success? } FATAL: ... ^ FATAL: /home/ubuntu/chef-repo/cookbooks/cloudPassage/recipes/default.rb:27: syntax error, unexpected ')', expecting '}' FATAL: ... awk '{print $2}'" -lt "3.9.5").run_command.success? } FATAL: ...
【问题讨论】:
标签: ruby shell chef-infra chef-recipe