Angenommen, ich führe Folgendes aus.
$ cat test.sh
#!/bin/bash
echo Hello World
exit 0
$ cat Hello.yml
---
- hosts: MyTestHost
tasks:
- name: Hello yourself
script: test.sh
$ ansible-playbook Hello.yml
PLAY [MyTestHost] ****************************************************************
GATHERING FACTS ***************************************************************
ok: [MyTestHost]
TASK: [Hello yourself] ********************************************************
ok: [MyTestHost]
PLAY RECAP ********************************************************************
MyTestHost : ok=2 changed=0 unreachable=0 failed=0
$
Ich weiß mit Sicherheit, dass es erfolgreich war.
Wo / wie sehe ich die "Hallo Welt", die von meinem Skript auf dem Remote-Host (MyTestHost) wiedergegeben / gedruckt wird? Oder der Rückkehr- / Exit-Code des Skripts?
Meine Forschung zeigt mir, dass es möglich wäre, ein Plugin zu schreiben, um Rückrufe zur Modulausführung oder ähnliches in diesen Zeilen abzufangen und eine Protokolldatei zu schreiben. Ich würde es vorziehen, meine Zeit nicht damit zu verschwenden.
ZB so etwas wie das Standard unten (beachte, dass ich ansible und nicht ansible-playbook laufen lasse):
$ ansible plabb54 -i /project/plab/svn/plab-maintenance/ansible/plab_hosts.txt -m script -a ./test.sh
plabb54 | success >> {
"rc": 0,
"stderr": "",
"stdout": "Hello World\n"
}
$
set -x
undset +x
in einem Shell-Skript.