2017-02-18 67 views
-1

我现在etc/group的车轮是设置为以下 轮:X:10:管理员,sshgroup,domaingroup为lineinfile搜索ansible语法和替换

我需要它是 轮: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 

^这里

我试过了和没有逃避:和调频但无济于事。你可以请建议。即时通讯使用安全2.2.1.0

+1

您正在混合使用YAML和传统语法,在很多地方都有一个'\'字符,没有你真正需要它的地方,而且你还有一个额外的''“'在最后 – SztupY

+0

感谢你快速回复。我用基本的正则表达式更新了我的问题 - 你能帮忙解决这个问题吗? – AmigoSe

回答

0

没有人,playbook这次运行。我认为state = present列出的最后一行,我看起来像使用tab空格而不是yaml的空格。在我删除该行并用空格读取它之后,它现在可以工作。

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

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