Ich habe ein Skript, das in einer Bash-Shell funktioniert. Ich lege es in Ansible und es verursacht eine Ausnahme für das Playbook.FEHLER! Fehler beim Teilen von Argumenten, entweder ein unausgeglichener jinja2-Block oder Anführungszeichen:
- name: add mnt to ignore_filesystems
shell: |
grep ignore_filesystem {{ cdm_path }} | awk -F'=' '{print $2}' | egrep '\^\\/mnt\*'
if [ $? -eq 0 ]; then
echo 'do nothing';
else
echo 'no';
items=$(grep ignore_filesystem {{ cdm_path }} | awk -F'=' '{print $2}')
if [ ${#items} -gt 1 ]; then
echo 'making the change'
sed -ie '/ignore_filesystem/ s~$~|^\\/mnt*~' {{ cdm_path }}
else
echo 'making the change'
sed -ie '/ignore_filesystem/ s~ignore_filesystem = *~ignore_filesystem = ^\\/mnt*~' {{ cdm_path }}
fi
fi
register: ignore_filesystems
changed_when: '"making the change" in ignore_filesystems.stdout'
ich folgende Meldung bin immer wenn das Textbuch auszuführen versuchen:
ERROR! failed at splitting arguments, either an unbalanced jinja2 block or quotes: grep ignore_filesystem {{ cdm_path }} | awk -F'=' '{print $2}' | egrep '\^\\/mnt\*'
if [ $? -eq 0 ]; then
echo 'do nothing';
else
echo 'no';
items=$(grep ignore_filesystem {{ cdm_path }} | awk -F'=' '{print $2}')
if [ ${#items} -gt 1 ]; then
echo 'making the change'
sed -ie '/ignore_filesystem/ s~$~|^\\/mnt*~' {{ cdm_path }}
else
echo 'making the change'
sed -ie '/ignore_filesystem/ s~ignore_filesystem = *~ignore_filesystem = ^\\/mnt*~' {{ cdm_path }}
fi
fi
The error appears to have been in '/home/username/provisioning/provisioning/edit_nimbus.yml':
line 179, column 5, but may be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- name: add mnt to ignore_filesystems
^here
Irgendwelche Gedanken darüber, warum dies könnte andernfalls?
============================================== ===========================
UPDATE:
Versuchte> sowie | und machte alle Zeilen die gleiche Einrückungsebene. Immer noch derselbe Fehler