线文件模块的Ansible问题

时间:2017-12-28 10:23:33

标签: python ansible yaml

我有一个名为clado.txt的示例文件,其中包含以下内容。

[server]

[backend]

[frontend]

我试图插入一条线" apache1"在[服务器]部分下。

[server]
apache1

[backend]

[frontend]

我的剧本

---
- hosts: aws
  become: yes
  remote_user: ec2-user
  tasks:
  - name: editing /home/ec2-user/clado.txt.
    lineinfile: 
      dest: /home/ec2-user/clado.txt
      insertafter: "[server]"
      line: "apche1"

但我没有得到我想要的输出。

[server]

[backend]

[frontend]
apche1

如何放置" apache1"在[服务器]下

1 个答案:

答案 0 :(得分:0)

insertafter的参数是一个正则表达式,所以你需要用反斜杠转义括号。

insertafter: "\\[server\\]"

在绝大多数情况下,您应该使用Ansible template module并指定所需的内容,而不是依赖于目标计算机的当前状态。