【发布时间】:2014-08-07 03:54:31
【问题描述】:
我的食谱中有一个简单的 insert_line_if_no_match,它似乎会在每次后续的 chef-client 运行中不断重新创建文件。
在阅读 FileEdit 的 rubydoc 页面后,它说如果文件已更改,它只会写入一个新文件,但这似乎不是真的。
其他人有这个问题吗?
ruby_block “provide_useful_default_prompt”做
block do
profile = Chef::Util::FileEdit.new("/etc/profile")
profile.insert_line_if_no_match(/PS1/, "\nPS1='[\\! (\\h):\\W] '\n")
profile.write_file
end
结束
更多 /etc/profile | grep PS1
PS1='[! (\h):\W] ' 结束
【问题讨论】:
-
那个正则表达式由于某种原因不匹配。打开一个 Ruby 控制台并尝试一下
标签: chef-infra