我尝试mosh_version
使用 ansibledebug msg
命令打印以前注册的变量,如下所示:
- name: Print mosh version
debug: msg="Mosh Version: {{ mosh_version.stdout }}"
它不起作用并打印以下错误:
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 }}"
我试过了
- name: Print mosh version
debug: msg=Mosh Version: "{{ mosh_version.stdout }}"
但这只会打印“Mosh”。
让它运行的最佳方法是什么?
尝试这个:
http://docs.ansible.com/YAMLSyntax.html#gotchas中的更多信息
编辑:这样的东西对我来说很完美:
http://pastie.org/private/cgeqjucn3l5kxhkkyhtpta
最简单的答案
我在同一个调试播放中显示了变量和消息。
Ansible 任务
输出
只需删除冒号
每当我在 Ansible 字符串/cmds 中遇到特殊字符问题时,我都会这样做:
所以你的标准冒号变成
{{':'}}
你的任务变成:
这同样适用于大多数特殊字符,甚至是字符串。考虑以下:
为了在 Ansible 中运行它,只需应用相同的逻辑,以下任务将按预期执行:
我用这个,注意双引号(“)和单引号(')的位置