J'essaie de trouver une ligne particulière dans le cat /etc/fstab
, l'enregistrer dans une variable et ensuite vouloir l'utiliser pour umount
le répertoire trouvé.en utilisant le registre dans la tâche ansible
---
- hosts: all
remote_user: root
tasks:
- name: Finding if the mount point exists
shell: cat /etc/fstab | grep /mnt | awk '{print $2}'
register: mountpoint
- name: UMOUNT the mountpoint found in expression
shell: umount "{{ item }}"
with_items: mountpoint.stdout
Je vois que la sortie fonctionne pour la première tâche. Cependant, dans la seconde tâche, il dit, "stderr": "umount: mountpoint.stdout: mountpoint not found", "stderr_lines": ["umount: mountpoint.stdout: mountpoint not found"]"
est-il pas la variable registre devrait travailler ici? Ai-je raté quelque chose?
C'est la sortie
{
"_ansible_parsed": true,
"stderr_lines": [],
"cmd": "cat /etc/fstab | grep /mnt | awk '{print $2}'",
"end": "2017-09-29 15:07:12.717112",
"_ansible_no_log": false,
"stdout": "/mnt/dvd",
"changed": true,
stdout
se trouve ici/mnt/dvd. maintenant voudrait umount
il.
Merci d'avance.
Vous devriez fortement envisager d'utiliser l'action 'mount', qui est idempotente par conception. – tedder42