Ansible Ad-hoc 命令中的错误识别
Error Recognition in Ansible Ad-hoc Commands
有没有办法在 bash 中分别捕获 stdout 和 stderr,也许作为一个元组,用于 ansible ad-hoc 命令?类似于:stdout, stderr= ansible -i hosts -m shell -a "command"
您可以使用选项 -t
以 JSON 格式记录输出。例如,如果我执行
ansible -m shell -a "echo test" -t tmp localhost
然后在文件中 ./tmp/localhost
我会得到这个输出:
{
"changed": true,
"cmd": "echo test",
"delta": "0:00:00.006099",
"end": "2020-04-14 11:43:01.878959",
"rc": 0,
"start": "2020-04-14 11:43:01.872860",
"stderr": "",
"stderr_lines": [],
"stdout": "test",
"stdout_lines": [
"test"
]
}
然后您可以解析 stdout 和 stderr。
有没有办法在 bash 中分别捕获 stdout 和 stderr,也许作为一个元组,用于 ansible ad-hoc 命令?类似于:stdout, stderr= ansible -i hosts -m shell -a "command"
您可以使用选项 -t
以 JSON 格式记录输出。例如,如果我执行
ansible -m shell -a "echo test" -t tmp localhost
然后在文件中 ./tmp/localhost
我会得到这个输出:
{
"changed": true,
"cmd": "echo test",
"delta": "0:00:00.006099",
"end": "2020-04-14 11:43:01.878959",
"rc": 0,
"start": "2020-04-14 11:43:01.872860",
"stderr": "",
"stderr_lines": [],
"stdout": "test",
"stdout_lines": [
"test"
]
}
然后您可以解析 stdout 和 stderr。