首页 > 解决方案 > 使用列表变量通过 apt 安装软件列表

问题描述

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

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

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

vars:
  my_list:
    - docker
    - nmap

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

标签: ansibleapt

解决方案


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

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 }}"

推荐阅读