我在循环中附加字符串 var 本身时遇到问题。
喜欢
var:
a: ""
var:
package:
- {{ iterations: 0 , newvar : b }}
- {{ iterations: 1 , newvar : c }}
- {{ iterations: 2 , newvar : d }}
- {{ iterations: 3 , newvar : e }}
- set_fact:
a: a + {{newvar}}
loop: {{ package }}
Run Code Online (Sandbox Code Playgroud)
我预计答案应该是 a = bcde
但我在 set_fact 中也有 if-else 代码。(这使得代码变得更加复杂)代码如下:
var:
portq: ""
var:
package:
- {{ iterations: 0 }}
- {{ iterations: 1 }}
- {{ iterations: 2 }}
- {{ iterations: 3 }}
- set_fact:
portq: "{% if q_port_result.results[item.iterations].cde != 'unknown' %}{{ portq + q_port_result.results[item.iterations].cde}}{% else %}{% endif %}"
loop: "{{ package }}"
Run Code Online (Sandbox Code Playgroud)
我的问题是如何添加附加“portq”与新变量。
总是提示错误“The error was: 'portq' is undefined\n\n”
非常感谢!
- name: test
hosts: localhost
become: false
vars:
package:
- iterations: 0
newvar: b
- iterations: 1
newvar: c
- iterations: 2
newvar: d
- iterations: 3
newvar: e
tasks:
- set_fact:
a: "{{ a | default('') + item.newvar }}"
loop: "{{ package }}"
- debug: var=a
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5651 次 |
| 最近记录: |