# Modulo copy argumento dest ( incongruencia al usar variables )

**URL:** <https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791>\
**Category:** Ansible Project\
**Created:** [October 20, 2017, 12:57pm UTC](https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791 "2017-10-20T12:57:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jrvilda](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@jrvilda](https://forum.ansible.com/u/jrvilda)\
**Post date:** [October 20, 2017, 12:57pm UTC](https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791/1 "2017-10-20T12:57:12Z")

</div>

Hola buenas,

¿por que se dan estas incongruencias al usar variables en el modulo copy en su argumento dest.?

---

<div class="post-metadata">

**Author:** ![Mauricio\_Tavares](https://avatars.discourse-cdn.com/v4/letter/m/b5e925/32.png) [@Mauricio\_Tavares](https://forum.ansible.com/u/Mauricio_Tavares)\
**Post date:** [October 20, 2017, 1:27pm UTC](https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791/2 "2017-10-20T13:27:52Z")

</div>

> Hola buenas,
> 
> ¿por que se dan estas incongruencias al usar variables en el modulo copy en  
> su argumento dest.?
> 
> ---  
> - hosts: localhost  
> &nbsp;&nbsp;vars:  
> &nbsp;&nbsp;&nbsp;&nbsp;PathLs: /etc/ansible/  
> &nbsp;&nbsp;&nbsp;&nbsp;Folder: /ansible/
> 
> &nbsp;&nbsp;tasks:  
> &nbsp;&nbsp;&nbsp;&nbsp;- name: Ejecuta script  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;script: "{{ PathLs }}ls.sh -al"  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;register: Log\_Step1
> 
> &nbsp;&nbsp;&nbsp;&nbsp;- name: volcamos la salida a consola  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debug: var=Log\_Step1.stdout\_lines
> 
> &nbsp;&nbsp;&nbsp;&nbsp;- name: volcamos la salida a fichero  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy:  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content: |  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% for lines in Log\_Step1.stdout\_lines %}  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ lines }}  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% endfor %}  
> # dest: /etc/ansible/logls.txt # usando esta linea ok  
> # dest: /etc/{{ Folder }}/logls.txt # usando esta linea ok.  
> # dest: {{ PathLs }}logls.txt # usando esto falla.  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest: "{{ PathLs }}logls.txt" # usando esta linea ok.
> 
> ¿por que en el caso de que comience por variable, tiene que usarse comillas,  
> y en los otros casos no?

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AFAIK ([http://docs.ansible.com/ansible/latest/playbooks\_variables.html#hey-wait-a-yaml-gotcha](http://docs.ansible.com/ansible/latest/playbooks_variables.html#hey-wait-a-yaml-gotcha)),  
you should use quotes around paths and other variables to guarantee  
they are properly expanded. Out of curiosity, you could print {{  
PathLs }}logls.txt with and without quotes (say, using a debug  
statement) to see how different they are.

---

<div class="post-metadata">

**Author:** ![jrvilda](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@jrvilda](https://forum.ansible.com/u/jrvilda)\
**Post date:** [October 20, 2017, 1:59pm UTC](https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791/3 "2017-10-20T13:59:56Z")

</div>

**check 1:** with and without quotes are the same

`

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [October 20, 2017, 2:58pm UTC](https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791/4 "2017-10-20T14:58:56Z")

</div>

Si usas {{ inmediatamente después de : , necesitas comillas o YAML  
asume que es un diccionario.

valido:  
&nbsp;&nbsp;msg: "{{variable}}"  
invalido:  
&nbsp;&nbsp;msg: {{variable}}

No requiere comillas si { no esta tras :

valido:  
&nbsp;&nbsp;msg: Hola {{persona}}  
invalido:  
&nbsp;&nbsp;msg: {{saludo}} Jose

Estos son requerimientos de YAML, que Ansible usa como formato.

---

<div class="post-metadata">

**Author:** ![Mauricio\_Tavares](https://avatars.discourse-cdn.com/v4/letter/m/b5e925/32.png) [@Mauricio\_Tavares](https://forum.ansible.com/u/Mauricio_Tavares)\
**Post date:** [October 20, 2017, 3:55pm UTC](https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791/5 "2017-10-20T15:55:07Z")

</div>

Did you check the link I gave you in my reply?

---

<div class="post-metadata">

**Author:** ![jrvilda](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@jrvilda](https://forum.ansible.com/u/jrvilda)\
**Post date:** [October 23, 2017, 5:06am UTC](https://forum.ansible.com/t/modulo-copy-argumento-dest-incongruencia-al-usar-variables/25791/6 "2017-10-23T05:06:32Z")

</div>

Mauricio: Sorry, I did not check your link on Friday. Yes now.

Both: thanks for explaining this to me.  
Is there any place to see these rare cases of yaml?
