我试图遍历EVN散列并将结果保存到一个文件中以下是我的尝试:

file "/srv/www/shared/test-create-file.txt" do
  owner "root"
  group "root"
  mode "0755"
  tempVar = ""
  ENV.each_pair do |k, v|
    tempVar = tempVar#{k}#{" = "}#{v}
  end
  content tempVar
  action "create"
end

文件已创建,但内容为空。我能得到一些提示吗?

最佳答案

您不需要为此创建变量:

file "/srv/www/shared/test-create-file.txt" do
  owner "root"
  group "root"
  mode "0755"
  content ENV.map { |k,v| "#{k} = #{v}" }.join("\n")
  action "create"
end

如果您只想修复迭代,请尝试以下操作:
ENV.each_pair do |k, v|
  tempVar = "#{tempVar}#{k} = #{v}\n"
end

关于ruby - 遍历ENV并将结果写入Chef中的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24131343/

10-10 21:48