在Ansible中将变量连接到自身

时间:2016-01-13 11:32:44

标签: 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    

all_dir中的预期输出

 src/main/java src/main/test src/main/resources

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

1 个答案:

答案 0 :(得分: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

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