Filter 在ansible中为列表的每个元素添加前缀
我正在寻找一个带有netbios域名和反斜杠的用户列表。到目前为止,这是我能想到的最好办法:Filter 在ansible中为列表的每个元素添加前缀,filter,ansible,jinja2,Filter,Ansible,Jinja2,我正在寻找一个带有netbios域名和反斜杠的用户列表。到目前为止,这是我能想到的最好办法: - hosts: servers vars: mylist: - Alice - Bob - Carol mystring: test mylist2: "{{ mylist | map('regex_replace', '^', mystring + '\' ) | list }}" tasks: - d
- hosts: servers
vars:
mylist:
- Alice
- Bob
- Carol
mystring: test
mylist2: "{{ mylist | map('regex_replace', '^', mystring + '\' ) | list }}"
tasks:
- debug: var=mylist2
错误消息如下:
The offending line appears to be:
mystring: test
mylist2: "{{ mylist | map('regex_replace', '^', mystring + '\' ) | list }}"
^ 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:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"
我面临着将反斜杠连接到我的变量的问题,因为ansible认为我在尝试转义某些内容,但没有放入我想要转义的内容。我还试图使用双反斜杠,但没有用
有人能建议这里的工作方法或替代方法吗。简化表达式并将regex_replace参数放入变量中,例如
-hosts:localhost
变量:
mylist:
-爱丽丝
-鲍勃
-卡罗尔
mystring:测试
mylist2:“{mylist | map('regex_replace',_my_regex,_my_replace)| list}”
_my_regex:“^(.*)”
_my\u replace:“{{mystring~”\\\“~“\1”}”
任务:
-调试:
变量:mylist2
可能会给你想要的
mylist2:
-测试\Alice
-测试\Bob
-测试\Carol