je le code suivant qui est de ne pas jeter une erreur, mais le fait est videParse ansible default utilisation supplémentaire var si regex ne
- shell: echo '{{ p }}'
register: results
- debug:
var: results
- set_fact:
myrepo: "{{ results.stdout | regex_search(regexp,'\\1') | default ({'0':'global'}) }}"
vars:
regexp: '(.*)/(.*)'
est ici la sortie
TASK [command] **************************************************************************************************************************************************************************************
changed: [localhost]
TASK [debug] ****************************************************************************************************************************************************************************************
ok: [localhost] => {
"results": {
"changed": true,
"cmd": "echo 'tim'",
"delta": "0:00:00.095831",
"end": "2017-09-06 16:37:19.977023",
"rc": 0,
"start": "2017-09-06 16:37:19.881192",
"stderr": "",
"stderr_lines": [],
"stdout": "tim",
"stdout_lines": [
"tim"
]
}
}
TASK [set_fact] *************************************************************************************************************************************************************************************
ok: [localhost]
TASK [debug] ****************************************************************************************************************************************************************************************
ok: [localhost] => {
"myrepo": ""
}
La commande est ansible-playbook -i hosts -c local file.yml --extra-vars "p=tim"
Je souhaite que myrepo soit global
si les résultats de l'expression régulière sont vides