【发布时间】:2021-11-27 19:41:15
【问题描述】:
我正在尝试使用 Ansible blockinfile 替换除特殊块之外的所有内容。假设这个特殊块位于文件的开头是安全的。
ansible 运行前的文件内容:
# BEGIN SPECIAL
blah
# END OF SPECIAL
... bunch of configs
ansible 运行后的预期文件内容:
# BEGIN SPECIAL
blah
# END OF SPECIAL
[MY REPLACED CONFIGS]
使用blockinfile标记有两个问题。
-
marker_start和marker_end不支持正则表达式 - 无法将 EOF 指定为
marker_end
我的任务:
- name: testing replacing file
blockinfile:
path: /tmp/testfile
marker: "{mark}"
marker_begin: "# END OF SPECIAL"
marker_end: EOF
block: "[MY REPLACED CONFIGS]"
state: present
这似乎不起作用。有没有办法通过 blockinfile 实现这一点?
【问题讨论】: