我有以下剧本:
---
- name: Find sudo mit PPID 1
hosts: solaris
become: true
tasks:
- shell: "pgrep -P1 -x sudo | xargs -n1 ptree"
register: result
- debug: var=result.stdout_lines
该命令ansible-playbook
以 JSON 语法引用命令的标准输出:
ok: [gggggggg] => {
"result.stdout_lines": [
"26982 sudo su -",
" 26983 -sh",
" 6628 zlogin NNNNNNNN",
" 6629 -sh"
]
}
这对我来说是难以理解的。
是否可以像临时命令那样在不使用 JSON 引用的情况下写入 stdout?
gggggggg | SUCCESS | rc=0 >>
17589 sudo su -
17590 -sh
17613 zlogin NNNNNNNN
17614 -sh
17646 bash
答案1
尝试使用 to_nice_json 过滤器:
tasks:
- shell: "pgrep -P1 -x sudo | xargs -n1 ptree"
register: result
- debug: var="{{ result.stdout_lines | to_nice_json }}"