循环用于逗号分隔的变量-Ansible Playbook

时间:2018-06-29 07:12:42

标签: ansible

我试图使用循环多次运行脚本。

我想要的方式是

  

脚本:/{{home}}/{{appUser}}/bin/trade_data_dnld.ksh {{date}} {{trade_id}}

现在,我的要求是某个时间为100个交易ID运行相同的脚本,而实际上不可能将剧本运行100次。

我正在寻找一个选项,可以创建一个名为trade_id(自由文本)的变量,并以逗号分隔的格式传递trade_id

剧本应该在列表中选择那些交易ID,然后对每个交易ID循环运行。

我该如何实现?

1 个答案:

答案 0 :(得分:1)

您可以这样

shell: /{{home}}/{{appUser}}/bin/trade_data_dnld.ksh {{ date }} {{ item }}
with_items: "{{ trade_id.split(',') }}"

,然后使用-e trade_id=="dsdsd,sdsdsd,dsds"将剧本的变量传递给ansible-playbook命令。 split将创建一个值列表,shell任务将在该列表上进行迭代,并将每次使用该值运行。