2017-02-18 54 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中的字符 - 這很好。