Ansible escaping double quotes and single quotes
19,153
It's a bug in lineinfile module.
The correct syntax from YAML point of view is following (but it will work, only when bug is fixed). You should escape only two characters " and \ in double-quoted literals:
line: "command[SERVICE_tomcat_Threads_pi]=/appiu/monitoring/check_tomcat_threads.pl -H localhost -p 30011 -C '\"http-bio-30011\"' -w 200 -c 50"
To temporarily workaround it, you can use:
line: 'command[SERVICE_tomcat_Threads_pi]=/appiu/monitoring/check_tomcat_threads.pl -H localhost -p 30011 -C \''"http-bio-30011"\'' -w 200 -c 50'
Related videos on Youtube
Author by
Georg Gutsche
Updated on July 20, 2022Comments
-
Georg Gutsche 5 monthsI would like insert a nrpe command in the nrpe.cfg with this ansible command
check_tomcat_threads.pl -H localhost -p 30011 -C '"http-bio-30011"' -w 200 -c 50But the the problem are the '" and "'
To set this line in the nrpe.cfg use the command
- { 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" }but the result in the nrpe.cfg is
...-C http-bio-30011..If I use ''\"http-bio-30011\"'' in the ansible script
the result in the nrpe.cfg is
...-C "http-bio-30011"...How I can escaping the single quotes and the double quotes to get this
-C '"http-bio-30011"'?Greetings Georg
-
Yaroslav Admin about 7 yearsIf answer helped you, it's good thing to accept it.
-