我正在尝试将两个字符串组合在一起。一个从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"
答案 0 :(得分:1)
list_1
是一个列表对象,list_2
是一个字符串。
如果你想在最后有一个字符串,你需要先使用join
filter将列表转换为字符串,然后与其余部分连接:
set_fact:
final_list: "{{ list_1 | join(‘,’) }},{{ list_2 }}"