как я могу получить вывод только с номером?
Если бы вы посмотрели ближе к выводу var=FS
, вы бы заметили, что ansible на самом деле фиксирует результаты все l oop предметов, которые применяются к вам из-за использования with_items:
Таким образом, ваш ответ будет в два раза: если вы действительно хотите только df из один элемент, не используйте with_items
, и результат будет в FS.stdout
, как вы и пытались. Если вы хотите df
из нескольких предметов, то вам нужно попасть в список .results[]
и извлечь из каждого из них stdout
:
- debug:
msg: '{{ FS.results | map(attribute="stdout") | list }}'
, хотя это предполагает, что вы сохранили список, который был передан в with_items:
, поскольку список results
упорядочен таким же образом.
Если, с другой стороны, вы бы предпочли создать отображение dict[str, str]
из оригинала элемент списка к его результату:
- debug: var=free_by_mount_point
vars:
free_by_mount_point: >-
{%- set results = {} -%}
{%- for r in FS.results -%}
{%- set _ = results.update({r.item, r.stdout}) -%}
{%- endfor -%}
{{ results }}