Ansible playbook 中逗号分隔变量的循环用法

Sac*_*wal 4 ansible

我正在尝试使用循环多次运行脚本。

我想要的方式是

Script: /{{home}}/{{appUser}}/bin/trade_data_dnld.ksh {{ date }} {{ trade_id }}
Run Code Online (Sandbox Code Playgroud)

现在我的要求是为一百个交易 ID 运行相同的脚本,并且实际上不可能运行剧本一百次。

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

剧本应选择列表中的那些交易 ID,并为每个交易 ID 循环运行。

我怎样才能实现这个目标?

Bap*_*ias 8

你可以这样实现

- shell: /{{home}}/{{appUser}}/bin/trade_data_dnld.ksh {{ date }} {{ item }}
  with_items: "{{ trade_id.split(',') }}"
Run Code Online (Sandbox Code Playgroud)

并将变量传递到-e trade_id="dsdsd,sdsdsd,dsds"您的命令中使用的剧本ansible-playbook
split将创建一个值列表,shell 任务将迭代该列表,并且每次都会使用相应的值运行。