我想在本地文件系统中搜索与glob模式匹配的文件,并获取相对于父目录的路径。以下是代码
- name: check for local configuration files
debug:
var:
- "{{ item | relpath('{{ playbook_dir }}/templates/httpd/{{ vhost.user }}') }}"
with_fileglob: "{{ playbook_dir }}/templates/httpd/{{ vhost.user }}/*.j2"
上面的代码无效,因为Ansible无法解析嵌套表达式?
我打算使用set_fact
将表达式预先评估为变量,并将其传递给relpath
。
如果没有这个额外的变量声明,是否有可能实现结果?是否可以将表达式用作过滤器的参数?
答案 0 :(得分:3)
您可以在jinja表达式中按名称访问变量:
"{{ item | relpath(playbook_dir+'/templates/httpd/'+vhost.user) }}"