# Ansible: How to run the for command through playbook

**URL:** <https://forum.ansible.com/t/ansible-how-to-run-the-for-command-through-playbook/24160>\
**Category:** Ansible Project\
**Created:** [April 6, 2017, 4:55pm UTC](https://forum.ansible.com/t/ansible-how-to-run-the-for-command-through-playbook/24160 "2017-04-06T16:55:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nishant\_bawane](https://avatars.discourse-cdn.com/v4/letter/n/919ad9/32.png) [@nishant\_bawane](https://forum.ansible.com/u/nishant_bawane)\
**Post date:** [April 6, 2017, 4:55pm UTC](https://forum.ansible.com/t/ansible-how-to-run-the-for-command-through-playbook/24160/1 "2017-04-06T16:55:58Z")

</div>

Below is the playbook using “for command”.

Playbook:

- name: “Fetch the ip of all the servers from hosts.new file”  
shell: for i in `awk '{print $1}' hosts.new`  
do echo “$i”  
done  
args:  
chdir: “/home/dp794d/”  
failed\_when: “output.rc \> 1”  
register: output
- debug: msg=“{{ output.stdout }}”

Actual output :

PLAY [myserver] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK [setup] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [zlp12037]

TASK [Fetch the ip of all the servers from hosts.new file] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
changed: [zlp12037]

TASK [set\_fact] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [zlp12037]

TASK [debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [zlp12037] =\> {  
“output.stdout”: “”  
Expected output :

12.82.240.174  
12.82.240.166  
12.82.224.62  
12.82.224.70

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [April 6, 2017, 6:54pm UTC](https://forum.ansible.com/t/ansible-how-to-run-the-for-command-through-playbook/24160/2 "2017-04-06T18:54:44Z")

</div>

I'm baffled that you didn't get an error message since your for loop is not valid syntax.

Try:

&nbsp;&nbsp;shell: for i in `awk '{print $1}' hosts.new`;  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do echo "$i";  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;done

Or on one line

&nbsp;&nbsp;shell: for i in `awk '{print $1}' hosts.new`; do echo "$i"; done

---

<div class="post-metadata">

**Author:** ![nishant\_bawane](https://avatars.discourse-cdn.com/v4/letter/n/919ad9/32.png) [@nishant\_bawane](https://forum.ansible.com/u/nishant_bawane)\
**Post date:** [April 10, 2017, 1:00pm UTC](https://forum.ansible.com/t/ansible-how-to-run-the-for-command-through-playbook/24160/3 "2017-04-10T13:00:28Z")

</div>

Thanks for your help, it worked fine.
