说我执行以下操作。
$ 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)上回显/打印的“ Hello World”?还是脚本的返回/退出代码?
我的研究表明,有可能编写一个插件来拦截模块执行回调或这些行上的内容并编写日志文件。我希望不要浪费时间。
例如下面的标准输出(请注意,我正在运行ansible而不是ansible-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
在shell脚本。