我正在尝试将两个字符串组合在一起。一个是从 set_facts 中提取的,另一个是在 playbook 中定义为变量。但是当我运行调试时。我收到了额外的字符,例如 [u'
和 ']
但没有得到干净的输出。
这就是我想要的结果:
final_list: usera,userb,userc,userd,usere,userf
但这就是我得到的结果:
ok: [localhost] => {
"final_list": "[u'usera,userb,userc'],userd,usere,userf"
}
这是我的剧本:
- vars:
list_2: "userd,usere,userf"
- set_fact:
list_1="{{ parent_hgdata.json|json_query("parameters[?name=='usernames'].value") }}"
- name: verify list 1 output
debug:
var: list_1
### The above task gives me the right output for list_1
- name: Combining list _1 and list_2
set_fact:
final_list: "{{ list_1 }},{{ list_2 }}"
- name: Now verify the final_list
debug:
var: final_list
现在当我调试 Final_list 时。它给了我不干净的输出
"final_list": "[u'usera,userb,userc'],userd,usere,userf"
最佳答案
list_1
是一个列表对象,list_2
是一个字符串。
如果你想最后有一个字符串,你需要首先使用join
filter将列表转换为字符串。然后与其余部分连接:
set_fact:
final_list: "{{ list_1 | join(‘,’) }},{{ list_2 }}"
关于jquery - Ansible - 组合两个变量将 [u...] 添加到其中之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47233395/