首页 > 解决方案 > 将 bash 命令评估为 ansible 变量

问题描述

我想创建与命令等效的 ansible:

apt-get install linux-headers-$(uname -r)

要求:linux-headers-$(uname -r)必须通过 Ansible 变量配置包。

在外部文件中配置了一个很大的包列表。linux-headers-$(uname -r)现在,必须通过 shell 任务单独处理名称被延迟评估的包。

我正在寻找一种方法来摆脱此类异常并将它们与其他异常一样存储在变量列表中。

标签: ansible

解决方案


使用管道插件。例如

- set_fact:
    linux_headers_pkg: "{{ 'linux-headers-' ~ lookup('pipe', 'uname -r') }}"
- debug:
    var: linux_headers_pkg

"linux_headers_pkg": "linux-headers-5.0.0-31-generic"

推荐阅读