[英]Ansible/Jinja2 nested escaping
有没有办法嵌套 jinja2 模板的 escaping ?
replace:
path: /etc/my_file
regexp: '^my_var = ""'
replace: !unsafe "my_var = {{getv '/{{ variable}}/my_dir/my_file'}}"
我想用my_var = {{getv '/staging/my_dir/my_file'}}
替换my_var = ""
在这种情况下,不应将 {{getv}} 模板化(外括号),但应将 {{variable}} 模板化(内括号)。
可以连接替换字符串。 例如
vars:
lbrackets: "{{ '{{' }}"
rbrackets: "{{ '}}' }}"
quote: "'"
tasks:
- replace:
path: /etc/my_file
regexp: '^my_var = ""(.*)$'
replace: "{{ 'my_var = ' ~
lbrackets ~ 'getv ' ~ quote ~
'/staging/my_dir/my_file' ~ quote ~ rbrackets
}}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.