Ansiblevariables和文本replace

我正在尝试使用Ansible将一个示例文本replace为一个variables。 我曾尝试使用没有引号,“”和“,但似乎没有工作。 我也尝试使用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 }}" 

从关于variables的文档摘录:

variables名称应该是字母,数字和下划线。 variables应该始终以字母开头。

所以你应该重构:

 server1: a1: "ED:5A:13:AA:34:20" a2: "ED:5A:13:AA:34:21" 

并在代码中:

 line: "{{ server1.a1 }}"