2015-10-07 4 views
4

Я хотел бы вставить команду NRPE в nrpe.cfg с этим анзибль командыанзибль избежать двойные кавычки и одинарные кавычки

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-био-30011 \" '' в анзибль сценарии

результат в 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' 
Смежные вопросы