检查变量名是否正确定义,或使用默认值
在Ansible中,当尝试使用未定义的变量名称时,会出现“Variable name is undefined”错误。要解决这个问题,可以采取以下措施:
检查变量名是否正确定义。如果变量未定义,或者定义错误,会导致错误的变量名或无法解析的变量名。在使用变量之前,请检查变量名是否拼写正确。
使用默认值。在使用变量之前,可以定义一个默认值,当变量未定义时会使用该默认值。例如,以下代码指定了默认值为10:
- hosts: server
vars:
my_var: "{{ my_other_var | default(10) }}"
在这种情况下,如果my_other_var未定义,my_var将使用默认值10。
- hosts: server
vars:
my_var: "{{ my_other_var }}"
vars_prompt:
- name: "my_other_var"
prompt: "Enter my_var value:"
private: no
when: my_var is undefined
在这种情况下,如果my_other_var未定义,将提示用户输入变量值,并将其分配给my_var。如果用户未输入变量值,该playbook将抛出错误。