我有一个这样的文件(a_file.txt):
22
23
8080
我需要用我的主机循环a_file.txt中的每个项目,并将其格式设置为host:22,host:23,host:8080 ...等等,因此我可以在剧本中使用shell模块,如下所示:< / p>
---
- hosts: host1
tasks:
- name: Remote hostname
shell: hostname
register: hostname
- name: Read items from a_file.txt
shell: cat a_file.txt
register: item_output
- name: Run shell command
shell: someCommand {{hostname.stdout_line|nice_to_yaml}}:{{item}}
with_items: item_output.stdout_lines
但是,我的someCommand失败了,因为我有:
{{hostname.stdout_line|nice_to_yaml}} = - hostname\n
{{<item in a_file.txt>}} = [u'\22, u'\23, u'\8080]
答案 0 :(得分:1)
您必须使用:
- name: Run shell command
shell: someCommand {{hostname.stdout_line|nice_to_yaml}}:{{item}}
with_items: "{{ item_output.stdout_lines }}"