Ansible
如何指定範圍以在ansible中遍歷數組
我想使用 ansible 刪除遠端節點上的應用程序。下面是我的劇本。我如何為解除安裝任務提供一個範圍以重複直到沒有包被留下。
hosts: all tasks: - name: check-packages shell: rpm -qa | grep -e "^\(HPOpr\|HPE\|HPOv\|HPBsm\|MIB2Policy\|HPOMi\)" register: output - name: uninstall shell: rpm -e {{ output.stdout_lines.0 }} --nodeps
我嘗試使用範圍運算符
shell: rpm -e {{ output.stdout_lines[:40] }} --nodeps
但它不起作用。
- name: uninstall package: name: "{{ item }}" state: absent with_list: "{{ output.stdout_lines }}"
或者,如果您使用 Ansible 2.5 或更高版本,請替換
with_list
為loop
.您也可以一次性完成:
- name: uninstall package: name: "{{ output.stdout_lines }}" state: absent