Назад | Перейти на главную страницу

Как отображать необработанные сообщения в Ansible?

У меня есть следующий сценарий:

---
- 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, как это делается специальными командами?

gggggggg | SUCCESS | rc=0 >>
17589 sudo su -
  17590 -sh
    17613 zlogin NNNNNNNN
      17614 -sh
        17646 bash

Попробуйте использовать фильтр to_nice_json:

tasks:
- shell: "pgrep -P1 -x sudo | xargs -n1 ptree"
  register: result
- debug: var="{{ result.stdout_lines | to_nice_json }}"