未定义变量的 Ansible 语法检查

Ansible syntax check for undefined variable

我有一个像这样的剧本: myplaybook.yml

---
- name: call another playbook
  hosts: 127.0.0.1

- include: "{{name}}-playbook.yml"
  when: name is defined

在这里,我将来自 cli 的 'name' 变量作为 --extra-vars

传递

它工作正常。但是在尝试使用以下命令检查语法时,它给出的错误是 name is undefined

Ansible-playbook --syntax myplaybook.yml

有什么处理方法吗?

您想检查什么语法?如果你有很多像 name1-playbook.ymlname2-playbook.yml 这样的剧本,Ansible 应该如何猜测所有的名字并测试所有的名字?

如果您只想测试其中一个,请为 name 设置默认值,例如:

- include: "{{ name | default('name1') }}-playbook.yml"