我在vars中有这个:
var1: "test1"
var2: "test2"
var3: "{{var1}}"
现在我想动态更改var3: "{{var2}}"
。
我可以指定var3: "test2"
。但是我如何分配var3: "{{var2}}"
?
答案 0 :(得分:6)
我试图解释短语"动态改变Ansible变量"根据你的问题:
---
- hosts: localhost
connection: local
vars:
var1: "test1"
var2: "test2"
var3: "{{var1}}"
tasks:
- debug: var=var3
- set_fact:
var3: "{{var2}}"
- debug: var=var3
关于评论:
我在想
set_fact
使vars成为主机,而不是优先于playbook vars
通过set_fact
模块分配的变量属于它们自己的变量类,它们的优先级较低,仅限于阻止变量,任务变量和额外变量。请参阅Variable Precedence。