在Ansible中,可以使用when
关键字来指定任务在满足特定条件时才执行。要仅当变量不为空时运行任务,可以使用以下代码示例:
- name: Only run task if variable is not empty
debug:
msg: "Variable is not empty"
when: my_variable is defined and my_variable != ""
在上面的示例中,my_variable
是要检查的变量。is defined
条件用于检查变量是否已定义,!= ""
条件用于检查变量是否不为空。只有当这两个条件都为真时,debug
任务才会执行。
如果你想在变量为空时运行任务,可以将条件改为== ""
:
- name: Only run task if variable is empty
debug:
msg: "Variable is empty"
when: my_variable is defined and my_variable == ""
上述代码将在my_variable
为空时执行debug
任务。
请注意,在Ansible中,变量的空值和未定义值是不同的。如果变量在任务中没有定义,is defined
条件将返回假,任务将不会执行。如果变量已定义但为空,!= ""
条件将返回假,任务也将不会执行。
下一篇:Ansible:静默设置事实