gpt4 book ai didi

linux - 如何使用 Ansible 设置 Linux 环境变量

转载 作者:IT老高 更新时间:2023-10-28 12:25:32 26 4
gpt4 key购买 nike

您好,我正在尝试了解如何使用 Ansible 设置环境变量。

类似这样的简单 shell 命令:

EXPORT LC_ALL=C

尝试作为 shell 命令并得到一个错误尝试使用环境模块,没有任何反应。

我错过了什么

最佳答案

有多种方法可以做到这一点,从您的问题来看,您还不清楚您需要什么。

1.如果您只需要为每个任务定义环境变量,请执行以下操作:

- hosts: dev
tasks:
- name: Echo my_env_var
shell: "echo $MY_ENV_VARIABLE"
environment:
MY_ENV_VARIABLE: whatever_value

- name: Echo my_env_var again
shell: "echo $MY_ENV_VARIABLE"

请注意,MY_ENV_VARIABLE 仅适用于第一个任务,environment 不会在您的系统上永久设置它。

TASK: [Echo my_env_var] ******************************************************* 
changed: [192.168.111.222] => {"changed": true, "cmd": "echo $MY_ENV_VARIABLE", ... "stdout": "whatever_value"}

TASK: [Echo my_env_var again] *************************************************
changed: [192.168.111.222] => {"changed": true, "cmd": "echo $MY_ENV_VARIABLE", ... "stdout": ""}

希望很快使用 environment 也可以在 play level 上使用,而不仅仅是上面的任务级别。目前在 Ansible 的 GitHub 上有一个针对此功能的拉取请求:https://github.com/ansible/ansible/pull/8651

更新:它现在已于 2015 年 1 月 2 日合并。

<强>2。如果您想要永久环境变量 + 系统范围/仅适用于某些用户

你应该看看你是如何在你的 Linux 发行版/shell 中做到这一点的,有很多地方可以做到这一点。例如,在 Ubuntu 中,您可以在文件中定义它,例如:

  • ~/.profile
  • /etc/environment
  • /etc/profile.d目录
  • ...

你可以在这里找到关于它的 Ubuntu 文档:https://help.ubuntu.com/community/EnvironmentVariables

毕竟是为了在 ex 中设置环境变量。在 Ubuntu 中,您可以使用 Ansible 中的 lineinfile 模块并将所需的行添加到某个文件中。请查阅您的操作系统文档以了解将其添加到何处以使其永久化。

关于linux - 如何使用 Ansible 设置 Linux 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27733511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com