4

我想用这个 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..

如果我在 ansible 脚本中使用 ''\"http-bio-30011\"''

nrpe.cfg 中的结果是

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

我如何转义单引号和双引号来得到这个-C '"http-bio-30011"'

问候乔治

4

1 回答 1

5

这是模块中的错误。lineinfile

从 YAML 的角度来看,正确的语法如下(但只有在修复错误时才会起作用)。您应该只转义两个字符"\使用双引号文字:

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'
于 2015-10-08T15:09:01.617 回答