कहो मैं निम्नलिखित को निष्पादित करता हूं।
$ 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
$
मुझे यकीन है कि यह सफल था।
मुझे दूरस्थ होस्ट (MyTestHost) पर मेरी स्क्रिप्ट द्वारा "हैलो वर्ल्ड" इको'ड / प्रिंट कहां / कैसे दिखाई देता है? या स्क्रिप्ट का रिटर्न / एग्जिट कोड?
मेरे शोध से पता चलता है कि मॉड्यूल निष्पादन कॉलबैक या उन पंक्तियों पर कुछ इंटरसेप्ट करने के लिए एक प्लगइन लिखना और एक लॉग फाइल लिखना संभव होगा। मैं उस के साथ अपना समय बर्बाद नहीं करना पसंद करूंगा।
उदाहरण के लिए नीचे दिए गए स्टैडआउट की तरह कुछ (ध्यान दें कि मैं चल रहा हूं और न कि खेलने योग्य- playbook):
$ 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
औरset +x
एक शेल स्क्रिप्ट में।