在ansible jinja2模板中的新行上打印输出

时间:2017-03-23 07:55:52

标签: python ansible jinja2

我正在努力使用这个脚本在新行上打印它的输出。我在网上尝试了一些提议的解决方案,但似乎都没有起作用。下面是我的剧本片段。

tasks:
 - debug: msg={% for oct in range(10,12) %}172.16.0.{{ oct }}{% endfor %}

我得到的输出是这个

  TASK [debug] *******************************************************************
     ok: [localhost] => {
    "msg": "172.16.0.10172.16.0.11"

我需要像这样的输出

TASK [debug] *******************************************************************
     ok: [localhost] => {
    "msg": "172.16.0.10"
           "172.16.0.11"

我尝试插入一个\n,如{% for oct in range(10,12) %}172.16.0.{{ oct }}'\n'{% endfor %},但只在我的输出中打印\n字符串。

1 个答案:

答案 0 :(得分:0)

使用标准输出插件无法实现您想要的效果。

最接近的是当您打印(debug)列表时 - Ansible将在新行上打印每个项目:

---
- hosts: localhost
  connection: local
  gather_facts: no
  tasks:
    - debug: msg="{{ lookup('sequence','start=10 end=11 format=172.16.0.%d',wantlist=true) }}"

结果:

ok: [localhost] => {
    "msg": [
        "172.16.0.10",
        "172.16.0.11"
    ]
}