As much as I like them I would recommend against grep/cat/awk in this
case as it makes things very fragile.
Instead try to use something that PHP and ansible can both use - such as JSON.
For example my WordPress has:
define('DB_PASSWORD',
'(U>Trob!t]J=-APTjNr[b9()yL#-95r8[3s4MpM~S0dI=`Pb7td9$):M{kENu|i323');
This playbook then gets that password:
tasks:
- name: JSON encode constants
command: php -r 'require_once("wp-config.php");
echo json_encode(get_defined_constants(true)["user"]);'
register: php_out
- set_fact:
php_constants: "{{ php_out.stdout | from_json }}"
- debug: var=php_constants.DB_PASSWORD
TASK [debug]
***************************************************************************************************************************************
ok: [wp] =>
php_constants.DB_PASSWORD:
(U>Trob!t]J=-APTjNr[b9()yL#-95r8[3s4MpM~S0dI=`Pb7td9$):M{kENu|i323
DIck
On Wed, 1 Apr 2020 at 19:14, Mark T. <[email protected]> wrote:
>
> Hello,
>
> - name: Determining Source Account DB Password
> shell: cat wp-config.php | grep DB_PASSWORD | awk -F"['']" '{print $4}'
> register: wp_dbpw_source
>
> If the password contains a backslash, the output doubles the number of
> backslashes.
>
> abc\*# becomes abc\\*#
>
> I'm aware extra escape characters are only for display purposes, and not
> actually sent to the command.
>
> But the distorted password output prevents the script from accessing the
> database. When I remove the backslash from the password, the script works
> again.
>
> Is there a way to output a shell command using grep, cat or awk that doesn't
> cause this distortion?
>
> Thanks,
>
> Mark T.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/acbd9abb-8f6d-4847-8d46-7d87fa1d15b6%40googlegroups.com.
--
Dick Visser
Trust & Identity Service Operations Manager
GÉANT
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAL8fbwOHjT4A6Ru3V6mb4D4hb5%3DvL1PHG%2B3T1a4mTU3nt9boRw%40mail.gmail.com.