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

嗨,我试图找出如何使用Ansible设置环境变量

简单的shell命令是这样的:

EXPORT LC_ALL=C

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

我在想什么

回答:

有多种方法可以做到这一点,而且从您的问题出发,也不清楚您需要什么。

- 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还将在

,而不仅是上面的任务级别。当前在Ansible的GitHub上为此功能打开了一个拉取请求:https

:

//github.com/ansible/ansible/pull/8651

更新:自2015年1月2日起已合并。

您应该在Linux发行版/ shell中研究如何做到这一点,其中有很多地方。例如,在Ubuntu中,您可以在以下文件中进行定义:

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

您可以在这里找到有关它的Ubuntu文档:https

:

//help.ubuntu.com/community/EnvironmentVariables

毕竟在ex中设置环境变量。在Ubuntu中,您可以只使用lineinfileAnsible中的模块并将所需的行添加到某些文件中。请查阅您的操作系统文档,以了解将其添加到哪里使其永久存在。

以上是 如何使用Ansible设置Linux环境变量 的全部内容, 来源链接: utcz.com/qa/431740.html

回到顶部