lineinfile的ansible语法搜索和替换

时间:2017-02-18 19:44:54

标签: syntax escaping ansible

我当前的etc / group轮设置如下 轮:X:10:管理员,sshgroup,domaingroup

我需要它  轮:X:10:admin4,sshlocal,domainusers,domainadmins

- name: add a string to the new file
  lineinfile:
    dest=/etc/group
    backrefs=true
    regexp='wheel:x:10:'
    line='wheel:x:10:admin4,sshlocal,domainusers,domainadmins'
    state = present

错误: 违规行似乎是:

    line='wheel:x:10:admin4,sshlocal,domainusers,domainadmins'
    state = present

^这里

我尝试了无论是否有逃避:和共同点,但无济于事。你能建议吗?我使用ansible 2.2.1.0

1 个答案:

答案 0 :(得分:0)

没关系,伙伴们这次玩了。我认为列出了state = present的最后一行,我看起来像使用制表符空格而不是yaml的空格。删除该行并用空格重新读取后,它现在可以正常工作。

cat /etc/group | grep wheel
wheel:x:10:admin4,sshlocal,domainusers,domainadmins

显然,单引号足以逃脱:YAML中的角色 - 这很好。