当前位置: 首页 > 面试题库 >

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

闻人昕
2023-03-14
问题内容

嗨,我试图找出如何使用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还将在 播放级别上使用
,而不仅是上面的任务级别。当前在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中,您可以只使用lineinfileAnsible中的模块并将所需的行添加到某些文件中。请查阅您的操作系统文档,以了解将其添加到哪里使其永久存在。



 类似资料:
  • 我首先执行了命令: 然后我打开了文件:。在这个文件中,我放了: 如何永久设置路径?

  • 问题内容: 在中,我有以下脚本正在工作: Bash中的功能等效于什么? 有直接的模拟吗?环境变量用于查找可执行文件。 问题答案: 将VAR设置为value。如果需要空格,请用单引号将其引起来。如果要对变量进行插值,请使用双引号,例如。

  • 本文向大家介绍如何在Linux上设置python环境变量PYTHONPATH?,包括了如何在Linux上设置python环境变量PYTHONPATH?的使用技巧和注意事项,需要的朋友参考一下 要将Linux上的PYTHONPATH设置为指向Python以在其他目录中查找模块和包导入,请按如下所示导出PYTHONPATH变量: 在这种情况下,我们将foo目录添加到PYTHONPATH中。请注意,我们

  • 我对lua脚本的功能很陌生。我试过用, 操作系统。执行(“导出MY_VAR=10”) 伊奥。popen(“导出MY_VAR=10”) 从 lua 脚本。 我尝试在执行lua脚本后使用 echo $MY_VAR 从 shell 中读取MY_VAR变量,但我没有看到MY_VAR设置为 10。 如何使用lua脚本设置环境变量?

  • 问题内容: 我想设置一个有空间的环境变量。它是文件夹的路径,文件夹名称为:/ home / mehrabib / my video 我编辑.bashrc并在其中添加以下行: 并运行以下命令: 结果是: 我将其更改为 并运行以下命令: 结果是: 我该怎么办? 问题答案: 你应该做 总结丹的评论也可以 它将扩展到 再次。 就个人而言,我更喜欢语法。

  • 问题内容: 我开始研究一个项目,它使用了Github私有存储库中的一些私有模块,每当我尝试运行它时,都会出现以下错误: 验证github.com/repoURL/go- proto@v2.86.0+incompatible/go.mod:github.com/repoURL/go- proto@v2.86.0+incompatible/go.mod:阅读https://sum.golang。 or