- 20, Oct 2024
- #1
Я использую Ansible 2.7.9
[...] The offending line appears to be: path: "etc/path/to/config/{{ inventory_hostname }}.conf" regexp: "^{{ inventory_hostname | replace('.', '\.') }} = /path/to/a/directory" ^ here We could be wrong, but this one looks like it might be an issue with missing quotes. Always quote template expression brackets when they start a value. For instance: [...]
и у меня возникли проблемы с определением регулярного выражения в модуле lineinfile. В моем файле есть следующая строка: - name: Remove LE webroot definition
lineinfile:
path: "/etc/path/to/config/{{ inventory_hostname }}.conf"
regexp: "^{{ inventory_hostname | replace('.', '\.') }} = /path/to/a/directory"
state: absent
. The task in my playbook looks like this:
replace
Я хочу удалить эту строку. Поскольку {{ Inventory_hostname }} содержит точки, я пытаюсь избежать тех, у которых есть
host.example.com = /path/to/a/directory
Когда я выполняю книгу воспроизведения, возникает следующая ошибка:
Как видите, я использую двойные кавычки, и все примеры, которые я нашел, используют этот синтаксис. Что я здесь делаю не так? Спасибо за любую помощь.