线文件模块的Ansible问题



我的示例文件称为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"一词放在[服务器]

insertafter的参数是正则表达式,因此您需要用后斜切逃脱支架。

insertafter: "\[server\]"

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

最新更新