Chef infra Chef FileEdit继续创建新文件

Chef infra Chef FileEdit继续创建新文件,chef-infra,Chef Infra,我有一个简单的insert\u line\u if\u no\u match在我的菜谱中,它似乎会在以后的每个chef客户端运行中不断地重新创建文件 在阅读了FileEdit的rubydoc页面后,它说它只会在文件发生更改时写入一个新文件,但这似乎不是真的 还有其他人有这个问题吗 ruby\u块“提供有用的\u默认\u提示”do 结束 更多/etc/profile | grep PS1 PS1='[!(\h):\W]' 结束您可能需要考虑使用行食谱。它有一些我们经常使用的LWRP。例如: rep

我有一个简单的insert\u line\u if\u no\u match在我的菜谱中,它似乎会在以后的每个chef客户端运行中不断地重新创建文件

在阅读了FileEdit的rubydoc页面后,它说它只会在文件发生更改时写入一个新文件,但这似乎不是真的

还有其他人有这个问题吗

ruby\u块“提供有用的\u默认\u提示”do

结束

更多/etc/profile | grep PS1

PS1='[!(\h):\W]'
结束

您可能需要考虑使用
食谱。它有一些我们经常使用的LWRP。例如:

replace_or_add "provide_useful_default_prompt" do
  path    "/etc/profile"
  pattern "PS1"
  line    "PS1='[\\! (\\h):\\W] '\n"
  action  :edit
end

请记住在
元数据.rb
中包含
dependens'line'
,如果您使用
Berksfile
中包含
cookbook'line'

由于某些原因,正则表达式不匹配。打开Ruby控制台并尝试一下
replace_or_add "provide_useful_default_prompt" do
  path    "/etc/profile"
  pattern "PS1"
  line    "PS1='[\\! (\\h):\\W] '\n"
  action  :edit
end