我有一个包含用户名和密码哈希的yml文件,如下所示:
users:
- name: eucariot
pwd_hash: $1c$FCM#Y+8Z:T$/l>IX1tZG%Fh~u&q\Xq6fd7dT|>*,8>G8y:f38{-$
- name: test
pwd_hash: $1a$eWcH'5dD~1$l<vvDig#@.)I|;ZASgH'%Kv~N)&DA=[i<R@.'{%>$
然后我从Jinja模板中引用它。它适用于用户“eucariot”,而“test”则失败,因为它的哈希包含“{%”。
运行playbook会返回错误:
template error while templating string: tag name expected. String: $1a$eWcH'5dD~1$l<vvDig#@.)I|;ZASgH'%Kv~N)&DA=[i<R@.'{%>$"}
我找到了如何通过在字符串之前使用!unsafe来逃避这种字符的方法,但问题是这样的文件是由脚本自动创建的,我不知道如何把“!unsafe”放在那里。
答案 0 :(得分:-1)
看起来以下内容对我有用:
---
- hosts: localhost
gather_facts: no
tasks:
- debug:
msg: "{{ \"$1a$eWcH'5dD~1$l<vvDig#@.)I|;ZASgH'%Kv~N)&DA=[i<R@.'{%>$\"}}"
请注意"{{ \"\" }}"