【问题标题】:Ansible issue with line file module行文件模块的 Ansible 问题
【发布时间】:2017-12-28 10:23:32
【问题描述】:

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

[server]

[backend]

[frontend]

我正在尝试在 [server] 部分下插入一行“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

如何在 [server] 下放置单词“apache1”

【问题讨论】:

标签: python ansible yaml


【解决方案1】:

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

insertafter: "\\[server\\]"

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

【讨论】:

  • 你需要两个带双引号的反斜杠或一个带单引号的反斜杠——我把它们弄混了。
猜你喜欢
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 2020-09-09
相关资源
最近更新 更多