是否可以在一个 Ansible 任务中调试多个变量而不使用循环?

问题描述 投票:0回答:3

我想在一项 Ansible 任务中打印

var1
var2
。我有这个有效的 YAML。

- debug:
    var: "{{ item }}"
  with_items:
    - var1
    - var2

我想知道是否可以在不使用

with_items
msg
参数的情况下完成此操作。

ansible
3个回答
7
投票

调试消息中绝对可以有多个变量,只要它是有效的 YAML。

例如任务

- debug:
    msg:
      var1: "{{ var1 }}"
      var2: "{{ var2 }}"
  vars:
    var1: foo
    var2: bar

产量

ok: [localhost] => 
  msg:
    var1: foo
    var2: bar

如果你真的不想要消息,请将这两个变量放入字典中:

- debug:
    var: to_debug
  vars:
    to_debug:
      var1: "{{ var1 }}"
      var2: "{{ var2 }}"

    var1: foo
    var2: bar

产量

ok: [localhost] => 
  to_debug:
    var1: foo
    var2: bar

0
投票

我发现这非常方便:

- name: Display variables
  ansible.builtin.debug:
    msg:
      - "x: {{ x }}"
      - "y: {{ y }}"

-5
投票

您可以使用

vars
任务中的
debug
选项一次性打印多个变量的值。这是一个例子:

- debug:
    vars:
      var1: "{{ var1 }}"
      var2: "{{ var2 }}"
© www.soinside.com 2019 - 2024. All rights reserved.