# conditional on a result using a fact as the condition

**URL:** <https://forum.ansible.com/t/conditional-on-a-result-using-a-fact-as-the-condition/30917>\
**Category:** Ansible Project\
**Created:** [July 31, 2019, 1:38pm UTC](https://forum.ansible.com/t/conditional-on-a-result-using-a-fact-as-the-condition/30917 "2019-07-31T13:38:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ansible\_Madness](https://avatars.discourse-cdn.com/v4/letter/a/a183cd/32.png) [@Ansible\_Madness](https://forum.ansible.com/u/Ansible_Madness)\
**Post date:** [July 31, 2019, 1:38pm UTC](https://forum.ansible.com/t/conditional-on-a-result-using-a-fact-as-the-condition/30917/1 "2019-07-31T13:38:35Z")

</div>

Hi All,

Ansible 2.8

Trying to do something like this:

- name: task  
shell: blah blah  
register: shell\_result

- name: do if hostname is in result  
shell: blah blah  
when: shell\_result.stdout.find(inventory\_hostname)

so obviously the line " when: shell\_result.stdout.find(inventory\_hostname)" is the problem. I have tried a few things but dont know what is the best way to achieve this (and without getting jinja templating warnings when running)

btw “inventory\_hostname” is an ansible fact with the hostname

Thanks for any help

---

<div class="post-metadata">

**Author:** ![Dick\_Visser](https://avatars.discourse-cdn.com/v4/letter/d/d9b06d/32.png) [@Dick\_Visser](https://forum.ansible.com/u/Dick_Visser)\
**Post date:** [July 31, 2019, 1:56pm UTC](https://forum.ansible.com/t/conditional-on-a-result-using-a-fact-as-the-condition/30917/2 "2019-07-31T13:56:37Z")

</div>

Hi Ansible

> Hi All,
> 
> Ansible 2.8
> 
> Trying to do something like this:
> 
> - name: task  
> &nbsp;&nbsp;shell: blah blah  
> &nbsp;&nbsp;register: shell\_result
> 
> - name: do if hostname is in result  
> &nbsp;&nbsp;shell: blah blah  
> &nbsp;&nbsp;when: shell\_result.stdout.find(inventory\_hostname)
> 
> so obviously the line " when: shell\_result.stdout.find(inventory\_hostname)" is the problem. I have tried a few things but dont know what is the best way to achieve this (and without getting jinja templating warnings when running)

You provided ambiguous and/or incomplete information.  
Instead of guessing what you mean, please tell clearly:

\* what you are trying to achieve  
\* how you are doing this  
\* what errors/problems you encounter  
\* what the relevant tasks/playbooks/code/variables look like

Thx

---

<div class="post-metadata">

**Author:** ![Ansible\_Madness](https://avatars.discourse-cdn.com/v4/letter/a/a183cd/32.png) [@Ansible\_Madness](https://forum.ansible.com/u/Ansible_Madness)\
**Post date:** [July 31, 2019, 5:04pm UTC](https://forum.ansible.com/t/conditional-on-a-result-using-a-fact-as-the-condition/30917/3 "2019-07-31T17:04:29Z")

</div>

Hi, apologies for the lack of clarity. Nonetheless i figured out my problem… here is the working sample of the concept I was struggling with (in this case matching a variable to the shell result).

- name: something that outputs stuff  
shell: hostname  
register: shell\_result

- debug:  
var: shell\_result.stdout

- debug:  
var: ansible\_hostname

- name: if hostname is in output then do something  
debug:  
msg: HELLO  
**when: ansible\_hostname in shell\_result.stdout**  
**# I couldnt get this conditional to work with .find “when: shell\_result.stdout.find(ansible\_hostname)”**

PLAY [localhost] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK [Gathering Facts] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Wednesday 31 July 2019 18:58:46 +0200 (0:00:00.029) 0:00:00.029 \*\*\*\*\*\*\*\*  
ok: [localhost]

TASK [something that outputs stuff] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Wednesday 31 July 2019 18:58:48 +0200 (0:00:02.079) 0:00:02.109 \*\*\*\*\*\*\*\*  
changed: [localhost]

TASK [debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Wednesday 31 July 2019 18:58:49 +0200 (0:00:00.392) 0:00:02.502 \*\*\*\*\*\*\*\*  
ok: [localhost] =\> {  
“shell\_result.stdout”: “test-box”  
}

TASK [debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Wednesday 31 July 2019 18:58:49 +0200 (0:00:00.067) 0:00:02.570 \*\*\*\*\*\*\*\*  
ok: [localhost] =\> {  
“ansible\_hostname”: “test-box”  
}

TASK [if hostname is in output then do something] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
Wednesday 31 July 2019 18:58:49 +0200 (0:00:00.043) 0:00:02.614 \*\*\*\*\*\*\*\*  
ok: [localhost] =\> {  
“msg”: “HELLO”  
}
