使用列表变量通过 apt 安装软件列表

Ear*_*ind 2 apt ansible

虽然可以通过以下方式安装软件列表:

- name: Install what I want
  apt:
    name:
      - docker
      - nmap
Run Code Online (Sandbox Code Playgroud)

是否也可以使用包含软件名称列表的变量来代替?就像这样:

vars:
  my_list:
    - docker
    - nmap

- name: Install what I want
  apt:
    name: "{{ my_list }}"
Run Code Online (Sandbox Code Playgroud)

Vla*_*tka 6

是的。这是可能的。name“包名称列表”。两个版本的代码是等效的。

vars:
  my_list:
    - docker
    - nmap
tasks:
  - name: Install what I want
    apt:
      name: "{{ my_list }}"
Run Code Online (Sandbox Code Playgroud)


也可以使用循环。但是,这样效率较低。

vars:
  my_list:
    - docker
    - map
tasks:
  - name: Install what I want
    apt:
      name: "{{ item }}"
    loop: "{{ my_list }}"
Run Code Online (Sandbox Code Playgroud)