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

Install a list of software via apt using a list variable

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

- name: Install what I want
  apt:
    name:
      - docker
      - nmap

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

vars:
  my_list:
    - docker
    - nmap

- name: Install what I want
  apt:
    name: "{{ my_list }}"

是的。这是可能的。 name"A list of package names"。两个版本的代码是等效的。

vars:
  my_list:
    - docker
    - nmap
tasks:
  - name: Install what I want
    apt:
      name: "{{ my_list }}"


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

vars:
  my_list:
    - docker
    - map
tasks:
  - name: Install what I want
    apt:
      name: "{{ item }}"
    loop: "{{ my_list }}"

我最后一个 ansible 版本你可以使用下一个语法:

vars:
  my_list: [docker, nmap]

tasks:
  - name: Install APPS
    apt:
      name: "{{ my_list }}"
      state: present
      update_cache: yes