如何使用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中,您可以只使用lineinfile
Ansible中的模块并将所需的行添加到某些文件中。请查阅您的操作系统文档,以了解将其添加到哪里使其永久存在。
以上是 如何使用Ansible设置Linux环境变量 的全部内容, 来源链接: utcz.com/qa/431740.html