# Get stdout using loop

**URL:** <https://forum.ansible.com/t/get-stdout-using-loop/15518>\
**Category:** Ansible Project\
**Created:** [June 21, 2014, 3:20am UTC](https://forum.ansible.com/t/get-stdout-using-loop/15518 "2014-06-21T03:20:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![user18](https://avatars.discourse-cdn.com/v4/letter/u/6a8cbe/32.png) [@user18](https://forum.ansible.com/u/user18)\
**Post date:** [June 21, 2014, 3:20am UTC](https://forum.ansible.com/t/get-stdout-using-loop/15518/1 "2014-06-21T03:20:24Z")

</div>

Hi! How i can get stdout using loop (f.e. for with\_sequence statement)?

An example of how I want to use it:

`Введите код...`

- hosts: 127.0.0.1  
connection: local  
gather\_facts: no

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [June 22, 2014, 4:08pm UTC](https://forum.ansible.com/t/get-stdout-using-loop/15518/2 "2014-06-22T16:08:08Z")

</div>

The above request was registered to a variable called “status”, but since you are using with\_sequence this is saved in an array.

Take a look at what you have like so:

- debug: var=status

Finally, you’ll probably see that you want:

- debug: msg="{{ item.stdout }}  
with\_items: status

item doesn’t mean anything unless there’s a loop in play, so you have to loop over status to use it.

---

<div class="post-metadata">

**Author:** ![Brian\_Coca1](https://avatars.discourse-cdn.com/v4/letter/b/278dde/32.png) [@Brian\_Coca1](https://forum.ansible.com/u/Brian_Coca1)\
**Post date:** [June 22, 2014, 4:18pm UTC](https://forum.ansible.com/t/get-stdout-using-loop/15518/3 "2014-06-22T16:18:55Z")

</div>

status will be a list, so you have 4 stdout​s to look at:

- debug: msg={{item.stdout}}  
with\_items: status.results

---

<div class="post-metadata">

**Author:** ![user18](https://avatars.discourse-cdn.com/v4/letter/u/6a8cbe/32.png) [@user18](https://forum.ansible.com/u/user18)\
**Post date:** [June 22, 2014, 11:28pm UTC](https://forum.ansible.com/t/get-stdout-using-loop/15518/4 "2014-06-22T23:28:24Z")

</div>

In this case i got all message from status.results and stdout after it.

I solved this problem through this:

`debug: msg="{% for results in status.results %} {{results.cmd.7}} - {{ results.stdout }} {% endfor %}"`

In this case, I get what I need, but all 4 stdout output in a single line. How do I put a linebreak after each row (Ansible escapes ‘\n’).

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [June 23, 2014, 12:09pm UTC](https://forum.ansible.com/t/get-stdout-using-loop/15518/5 "2014-06-23T12:09:15Z")

</div>

Do what Brian said.

---

<div class="post-metadata">

**Author:** ![user18](https://avatars.discourse-cdn.com/v4/letter/u/6a8cbe/32.png) [@user18](https://forum.ansible.com/u/user18)\
**Post date:** [June 23, 2014, 1:25pm UTC](https://forum.ansible.com/t/get-stdout-using-loop/15518/6 "2014-06-23T13:25:28Z")

</div>

I’ve done it.

Playbook:

`
