【发布时间】:2016-08-19 11:27:33
【问题描述】:
我在"#{node['abc.d']}/fingreprint.txt"位置有fingreprint.txt
文件内容如下:time="2015-03-25T17:53:12C" level=info msg="SHA1 Fingerprint=7F:D0:19:C5:80:42:66"
现在我想检索指纹的值并将其分配给厨师属性
我正在使用以下红宝石块
ruby_block "retrieve_fingerprint" do
block do
path="#{node['abc.d']}/fingreprint.txt"
Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)
command = 'grep -Po '(?<=Fingerprint=)[^"]*' path '
command_out = shell_out(command)
node.default['fingerprint'] = command_out.stdout
end
action :create
end
由于command = 'grep -Po '(?<=Fingerprint=)[^"]*' path ' 中缺少转义字符,它似乎无法正常工作。
请让我知道是否有其他方法可以将文件内容分配给节点属性
【问题讨论】:
标签: ruby ruby-on-rails-3 chef-infra chef-recipe chef-solo