在Ansible中将变量连接到自身

Roo*_*dra 2 jinja2 ansible ansible-playbook

我试图在Ansible回放循环中将变量连接到自身,但我无法做到.可能是它的简单但无法实现这一点.

我在这里尝试的是什么

- name: all directories
  set_fact: all_dir={{ item }}
  with_items:
    - src/main/java
    - src/main/test
    - src/main/resources

- debug: var=all_dir    
Run Code Online (Sandbox Code Playgroud)

all_dir中的预期输出

 src/main/java src/main/test src/main/resources
Run Code Online (Sandbox Code Playgroud)

我试过加入.有什么建议吗?

udo*_*dan 5

join 是你应该使用的.

 - hosts: 127.0.0.1
   connection: local
   vars:
     dirs:
       - src/main/java
       - src/main/test
       - src/main/resources
     all_dir: "{{ dirs | join(' ') }}"
   tasks:
     - debug: var=all_dir
Run Code Online (Sandbox Code Playgroud)

或者通过set_fact:

 - hosts: 127.0.0.1
   connection: local
   vars:
     dirs:
       - src/main/java
       - src/main/test
       - src/main/resources
   tasks:
     - set_fact:
         all_dir: "{{ dirs | join(' ') }}"
     - debug: var=all_dir
Run Code Online (Sandbox Code Playgroud)
TASK: [debug var=all_dir] ***************************************************** 
ok: [127.0.0.1] => {
    "var": {
        "all_dir": "src/main/java src/main/test src/main/resources"
    }
}
Run Code Online (Sandbox Code Playgroud)