我写了一个bash资源如下:
bash 'initialize_vault' do
environment (node['vault']['env'])
code <<-EOH
vault init > /etc/vault/keys
EOH
not_if { vault init | grep 'initialized' }
end
似乎not_if没有按预期工作,因为bash每次都在执行。
在这里写not_if
的正确方法是什么?
答案 0 :(得分:1)
好的,倒带。 not_if
有两种截然不同的模式。您可以传递一个像not_if "foo bar"
这样的字符串,它将字符串作为命令运行。你也可以给它一个像not_if { foo('bar') }
这样的Ruby块,它将块作为Ruby代码运行。你在这里越过了溪流:)