在 Ansible 中将变量连接到自身

Concatenate variable to itself in Ansible

我试图在 Ansible 播放循环中将变量连接到自身,但我无法做到。可能很简单但无法实现。

我在这里尝试的是什么。

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

- debug: var=all_dir    

all_dir

中的预期输出
 src/main/java src/main/test src/main/resources

我试过了join。有什么建议吗?

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

或通过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

TASK: [debug var=all_dir] ***************************************************** 
ok: [127.0.0.1] => {
    "var": {
        "all_dir": "src/main/java src/main/test src/main/resources"
    }
}