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 months
I 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 50
But 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.
-