我正在尝试使用 Ansible 用变量替换示例文本。我尝试过不使用引号、“”和 '',但似乎没有任何效果。我还尝试过使用 replace 模块和 lineinfile 模块。
请让我知道我做错了什么。
- hosts: 10.1.1.10
become: yes
vars:
server1:
1a: "ED:5A:13:AA:34:20"
2a: "ED:5A:13:AA:34:21"
tasks:
- name: Replace mac address in file
lineinfile:
path: /tmp/file.json.j2
regexp: 'FILL_THIS_IN'
line: "{{ server1.1a }}"
答案1
摘录自文档关于变量:
变量名应该是字母、数字和下划线。变量应该始终以字母开头。
因此你应该重构为:
server1:
a1: "ED:5A:13:AA:34:20"
a2: "ED:5A:13:AA:34:21"
代码如下:
line: "{{ server1.a1 }}"