用于打印输出的Ansible Jinja2产生重复结果
Ansible 2.2版,Mac OS X El Capitan 我正在尝试生成端口映射列表 当我运行这样的代码时用于打印输出的Ansible Jinja2产生重复结果,ansible,jinja2,ansible-template,Ansible,Jinja2,Ansible Template,Ansible 2.2版,Mac OS X El Capitan 我正在尝试生成端口映射列表 当我运行这样的代码时 --- - hosts: [localhost] sudo: True pre_tasks: - debug: var: "{% for id in range(100,102) %} '{{ id }}' {% endfor %}" 我希望得到这样的结果: “‘100’‘101’”
---
- hosts: [localhost]
sudo: True
pre_tasks:
- debug:
var: "{% for id in range(100,102) %}
'{{ id }}'
{% endfor %}"
我希望得到这样的结果:
“‘100’‘101’”
但我得到的结果是:
“100”“101”“100101”
我为什么会得到这样的结果还不太清楚。它看起来像是从结果中创建了某种映射,但我不明白为什么。您得到了预期的结果,您只是看到了不一致的输出,因为您在
调试模块中使用了var
参数而不是msg
尝试:
在更复杂的情况下,可以通过将内容保存到文件并检查内容来考虑更可靠的调试方式。这将消除显示Ansible日志的回调插件的影响
- hosts: localhost
tasks:
- copy:
dest: ./result.txt
content: "{% for id in range(100,102) %}
'{{ id }}'
{% endfor %}"
然后:
cat ./result.txt
cat ./result.txt