Eu tento imprimir a mosh_version
variável registrada anteriormente usando o comando ansible debug msg
assim:
- name: Print mosh version
debug: msg="Mosh Version: {{ mosh_version.stdout }}"
Não funciona e imprime o seguinte erro:
Note: The error may actually appear before this position: line 55, column 27
- name: Print mosh version
debug: msg="Mosh Version: {{ mosh_version.stdout }}"
^
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"
eu tentei
- name: Print mosh version
debug: msg=Mosh Version: "{{ mosh_version.stdout }}"
mas isso apenas imprimirá "Mosh".
Qual é a melhor maneira de fazer isso funcionar?
Tente isto:
Mais informações em http://docs.ansible.com/YAMLSyntax.html#gotchas
Editado: Algo assim funciona perfeito para mim:
http://pastie.org/private/cgeqjucn3l5kxhkkyhtpta
Resposta mais simples
Eu mostrei variável e mensagem no mesmo jogo de depuração.
Tarefa Ansible
Resultado
Basta remover os dois pontos
Sempre que tenho problemas com caracteres especiais em strings/cmds do Ansible, faço isso:
Assim, seu cólon padrão se torna
{{':'}}
E sua tarefa se torna:
Novamente, isso funciona para a maioria dos caracteres especiais, até mesmo strings. Considere o seguinte:
Para executar isso no Ansible, basta aplicar a mesma lógica, a seguinte tarefa é executada conforme o esperado:
Eu uso isso, observe a localização das aspas duplas (") e aspas simples (')