Ansible/Jinja2嵌套转义



有什么方法可以嵌套转义 jinja2 模板吗?

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}} 不应该是模板化的(外部括号(,但 {{变量}} 内部(内部括号(应该是。

可以连接替换字符串。例如

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
}}"

相关内容

  • 没有找到相关文章

最新更新