如何使用with_lines存储和显示在shell循环中运行的shell命令的输出

时间:2017-05-08 17:33:25

标签: ansible

以下是我创建的剧本。我没有得到存储和显示shell命令输出的方法,并将相同的输出传递给具有不同主机的其他游戏。

---
- hosts: localhost
  tasks:
   - name: "check the connectivity with username for all the LLC servers from hosts.new file"
     shell: ssh dp794d@{{ item }} "date"
     register: result
     with_lines: cat "/home/capio/ansible/pmossWipm/day2/logs/ipAddress.txt"
   - debug: var=result

现在我如何显示寄存器变量" result"的结果。我尝试使用调试,但它没有工作。

以下是var = result

的输出
TASK [debug] *******************************************************************
ok: [localhost] => {
"result": {
    "changed": true,
    "msg": "All items completed",
    "results": [
        {
            "_ansible_item_result": true,
            "_ansible_no_log": false,
            "_ansible_parsed": true,
            "changed": true,
            "cmd": "ssh dp794d@130.6.50.131 \"date\"",
            "delta": "0:00:00.237866",
            "end": "2017-05-09 08:59:13.918581",
            "invocation": {
                "module_args": {
                    "_raw_params": "ssh dp794d@130.6.50.131 \"date\"",
                    "_uses_shell": true,
                    "chdir": null,
                    "creates": null,
                    "executable": null,
                    "removes": null,
                    "warn": true
                },
                "module_name": "command"
            },
            "item": "130.6.50.131",
            "rc": 0,
            "start": "2017-05-09 08:59:13.680715",
            "stderr": "   _________________________________________________________________\n\n    This system is restricted to ABC authorized users for business\n    purposes.  Unauthorized access is a violation of the law. This\n    service may be monitored for administrative and security reasons.\n    By proceeding, you consent to this monitoring.\n   _________________________________________________________________\n\n ,
            "stdout": "Tue May  9 08:59:13 EDT 2017",
            "stdout_lines": [
                "Tue May  9 08:59:13 EDT 2017"
            ],
            "warnings": []
        },
        {
            "_ansible_item_result": true,
            "_ansible_no_log": false,
            "_ansible_parsed": true,
            "changed": true,
            "cmd": "ssh dp794d@130.6.50.132 \"date\"",
            "delta": "0:00:00.245660",
            "end": "2017-05-09 08:59:14.430728",
            "invocation": {
                "module_args": {
                    "_raw_params": "ssh dp794d@130.6.50.132 \"date\"",
                    "_uses_shell": true,
                    "chdir": null,
                    "creates": null,
                    "executable": null,
                    "removes": null,
                    "warn": true
                },
                "module_name": "command"
            },
            "item": "130.6.50.132",
            "rc": 0,
            "start": "2017-05-09 08:59:14.185068",
            "stderr": "   _________________________________________________________________\n\n    This system is restricted to ABC authorized users for business\n    purposes.  Unauthorized access is a violation of the law. This\n    service may be monitored for administrative and security reasons.\n    By proceeding, you consent to this monitoring.\n   _________________________________________________________________\n\n   [,
            "stdout": "Tue May  9 08:59:14 EDT 2017",
            "stdout_lines": [
                "Tue May  9 08:59:14 EDT 2017"
            ],
            "warnings": []
        }
    ]
}

}

1 个答案:

答案 0 :(得分:0)

您可以按如下方式将结果存储到文件中:

- copy:
    content: '{{ result.results | map(attribute="stdout") | list | join("\n") }}'
    dest: /tmp/out.txt