我想使用此ansible命令在nrpe.cfg中插入一个nrpe命令
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"'
?
Greetings Georg
答案 0 :(得分:5)
lineinfile
模块中的bug。
从YAML的角度来看,正确的语法如下(但只有在修复bug时才会起作用)。在双引文字中,您应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'