2015-10-07 319 views
4

我想在nrpe.cfg插入NRPE命令與此ansible命令Ansible轉義雙引號和單引號

check_tomcat_threads.pl -H localhost -p 30011 -C '"http-bio-30011"' -w 200 -c 50 

但問題是「‘和’」

設置這條線在nrpe.cfg使用命令

- { regexp: '^command\[SERVICE_tomcat_pi_Threads\]', line: "command[SERVICE_tomcat_Threads_pi]=/appiu/monitoring/check_tomcat_threads.pl -H localhost -p 30011 -C '\"http-bio-30011\"' -w 200 -c 50" } 

但結果在nrpe.cfg是

...-C http-bio-30011.. 

如果我使用 '' \ 「HTTP-BIO-30011 \」 '' 在ansible腳本

結果在nrpe.cfg是

...-C "http-bio-30011"... 

我怎樣才能逃避單引號和雙引號得到這個-C '"http-bio-30011"'

問候喬治

+1

如果答案幫助你,這是一件好事[接受]( http://stackoverflow.com/help/someone-answers)。 –

回答

5

它在lineinfile模塊bug

從YAML的角度來看,正確的語法如下(但它會工作,只有當錯誤修復)。你應該escape只有兩個字符雙引號的文字"\

line: "command[SERVICE_tomcat_Threads_pi]=/appiu/monitoring/check_tomcat_threads.pl -H localhost -p 30011 -C '\"http-bio-30011\"' -w 200 -c 50" 

要暫時變通辦法,您可以使用:

line: 'command[SERVICE_tomcat_Threads_pi]=/appiu/monitoring/check_tomcat_threads.pl -H localhost -p 30011 -C \''"http-bio-30011"\'' -w 200 -c 50'