2017-08-10 55 views
-1

我有以下代码不执行,如果software_version等于12 但not_if不工作,我不知道我使用的语法是否正确。如何测试变量与厨师not_if警卫

software_version = `command that pulls version` 
bash 'extract_installer' do 
cwd '/opt/tmp/' 
code <<-EOH 
tar -xvf #{cwd}/#{r_file} 
.... 
... 
EOH 
not_if "software_version".equal?(12) 
end 
+0

我相信“software_version”变量包含一个字符串,你用整数比较。你可以请做一个小调试“放”的呢? –

回答

0

not_if { shell_out!('command that pulls version').stdout == '12' }

+0

尽管这段代码似乎回答了这个问题,但请提供一些额外的上下文,以便我们其他人可以理解答案,可能会减少我们将来的错误。 –

+0

不幸的是,当问题给出的这么少的上下文时,没有什么可做的,只是给出正确的代码并继续前进。 – coderanger