Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ansible中将表达式用作筛选器参数_Ansible_Jinja2 - Fatal编程技术网

在ansible中将表达式用作筛选器参数

在ansible中将表达式用作筛选器参数,ansible,jinja2,Ansible,Jinja2,我想在本地文件系统中搜索与glob模式匹配的文件,并获取相对于父目录的路径。下面是代码 - name: check for local configuration files debug: var: - "{{ item | relpath('{{ playbook_dir }}/templates/httpd/{{ vhost.user }}') }}" with_fileglob: "{{ playbook_dir }}/templates/httpd/{{ vh

我想在本地文件系统中搜索与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\u fact
将表达式预计算为变量,并将其传递给
relpath


在没有这个额外变量声明的情况下,是否有可能实现结果?是否可以将表达式用作筛选器的参数?

您可以在jinja表达式中按名称访问变量:

"{{ item | relpath(playbook_dir+'/templates/httpd/'+vhost.user) }}"

您可以在jinja表达式中按名称访问变量:

"{{ item | relpath(playbook_dir+'/templates/httpd/'+vhost.user) }}"