禁用标记禁止标记

我是新来的,但是我能够成功地使用blockinfile函数。 但是我不知道如何防止插入标记。 我阅读文档,但似乎没有描述它。

这是blockinfile写入的每个文件中显示的内容。

# BEGIN ANSIBLE MANAGED BLOCK # END ANSIBLE MANAGED BLOCK 

我看了一下github上的原始blockinfile模块 – 在Ansible 2之前,它没有与Ansible捆绑在一起。 事实certificate,这些标记实际上用来标识块 :

这似乎是有意的行为。 它用指定的内容replace块标记包围的所有行。

这意味着如果您删除了标记, blockinfile将不再能够识别该块,这将导致模块在每次运行playbook时都将该块添加到文件中。

所以写块之前和之后的标记是模块的要求,不能删除。

如果这是一次性剧本,将永远不会再次执行您可以运行lineinfile模块与state: absent选项后。


老答案:

根据文档, blockinfile模块有一个marker选项。

你尝试把它设置为空string还是False?

 blockinfile: dest: /var/www/html/index.html marker: "" 

要么

 blockinfile: dest: /var/www/html/index.html marker: False 

公平的,我结束了使用以下创build多行。

https://stackoverflow.com/questions/24334115/ansible-lineinfile-for-several-lines

谢谢@udondan