script task strips empty string('') from parameters which leads to a infinite hang

I use script task to change mysql password by mysqladmin; when the password is an empty string(‘’), the script task strips it and leads ansible hang because mysqladmin will prompt for a password

TASK: [script /usr/bin/mysqladmin -u root password ‘’] ************************
<192.168.0.214> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO 192.168.0.214
<192.168.0.214> EXEC /bin/sh -c ‘mkdir -p $HOME/.ansible/tmp/ansible-tmp-1462733147.95-186442598016946 && echo $HOME/.ansible/tmp/ansible-tmp-1462733147.95-186442598016946’
<192.168.0.214> PUT /usr/bin/mysqladmin TO /root/.ansible/tmp/ansible-tmp-1462733147.95-186442598016946/mysqladmin
<192.168.0.214> EXEC /bin/sh -c ‘chmod +rx /root/.ansible/tmp/ansible-tmp-1462733147.95-186442598016946/mysqladmin’
<192.168.0.214> EXEC /root/.ansible/tmp/ansible-tmp-1462733147.95-186442598016946/mysqladmin -u root password

see command marked in blue does have a “” at last, but the real command in red strips it.

How can I handle such case?

Should that not be pointing to a “{{ $var }}” then? How does the task look to start with? This is just the output :slight_smile:

The task is like:

  • script: /tmp/mysql.sh

and mysql.sh is a single line script like:

/usr/bin/mysqladmin -u root password ‘’

Did you try it with “‘’” too?

I tried. It’s still not working

I tried defining a variable, it’s not working too

Did you try and escape them with \ so say `` or "``" (just suggestions, since i am uncertain of it too) for all we know you might need to quote the command even.