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

Ansible, как получить вывод как переменную без скобок и u

У меня есть результат запроса от ansible, и я попытался использовать результат как переменную

Моя книга такая

- name: Query
  oracle_sql:
    username: "{{ user }}"
    password: "{{ password }}"
    service_name: "{{ service_name }}"
    sql: "select smth  from table where smth like 'OK_%'"
  register: smth

Результат имеет следующий формат:

"msg": [
    [
        "SMTH"
    ]
]
no stdout, no stderr

После этого я хочу использовать свою переменную:

- name: echo
  shell: echo {{ smth.msg[0] }} > /tmp/test

и выход такой:

[uSMTH]

Как убрать скобки и букву «u»? Я знаю, что это список, но я не могу от него избавиться.

Я безуспешно пытался конвертировать из формата yaml или json, последнее добавление возврата каретки с

| to_yaml 
| to_json
| to_nice_yaml
| to_nice_json

Любой совет?

Полученные вами результаты представляют собой список списков. Итак, список строк со списком ячеек в этой строке.

Попробуйте что-нибудь подобное.

- name: echo
  shell: echo {{ smth.msg[0][0] }} > /tmp/test