2017-11-11 59 views
1

2つの変数を組み合わせることにより、それらのいずれかに[U ...]を追加します。一つはset_factsから抽出され、他方は、ハンドブックで変数として定義されます。しかし、私はデバッグを実行します。私は[u''] などの余分な文字を取得しますがきれいな出力を得ていないのです。Ansibleは - 私は一緒に2つの文字列を結合しようとしています

これは私が欲しいの結果である:

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" 

答えて

1

list_1list_2が文字列で、リストオブジェクトである私をgived。

あなたが最後に文字列を持っているしたい場合は、まずjoin filterを使用して文字列にリストを変換し、残りの部分に連結する必要があります。

set_fact: 
    final_list: "{{ list_1 | join(‘,’) }},{{ list_2 }}" 
+0

恐ろしいです。出来た。わーい!。 techraf、あなたは素晴らしいです。説明もありがとう:) – sherri

関連する問題