Chef infra 厨师:设置环境变量

Chef infra 厨师:设置环境变量,chef-infra,Chef Infra,我需要在Centos/7机器上设置OS环境变量 我已经在我的variables.rb文件中尝试过: host = 'locahost' port = 9201 ENV['LV_ES_HOST'] = host ENV['LV_ES_PORT'] = '#{port}' 然而,在壳牌公司: $ echo $LV_ES_HOST $ 如何设置Os环境变量 是否可以设置一个仅对用户可见的OS环境变量 我需要一个OS可用的环境变量,以便我的jee应用程序能够读取其值 我在我的机器上运行了几个je

我需要在Centos/7机器上设置OS环境变量

我已经在我的
variables.rb
文件中尝试过:

host = 'locahost'
port = 9201

ENV['LV_ES_HOST'] = host
ENV['LV_ES_PORT'] = '#{port}'
然而,在壳牌公司:

$ echo $LV_ES_HOST

$
  • 如何设置Os环境变量
  • 是否可以设置一个仅对用户可见的OS环境变量
  • 我需要一个OS可用的环境变量,以便我的jee应用程序能够读取其值


    我在我的机器上运行了几个jee容器,应用程序在需要获取LC_ES_主机环境变量的情况下运行。

    另一个问题并不能真正解释根本问题。Unix环境变量在
    fork()
    期间从父进程继承到子进程。因此,当您通过Chef代码中的
    ENV
    设置内容时,它确实会影响通过
    execute
    资源运行的类似Chef的内容下的子流程。但是,当您通过SSH登录时,shell不是
    chef-client
    的子进程,因此这些变量不可见。不幸的是,Unix没有针对全局环境变量的通用解决方案,因此您需要从另一个问题中列出的许多折衷方案中选择一个。

    用户环境变量是否可能重复?我记得我能够设置用户可以使用哪些环境变量……好吧,你的问题从OS env var开始。但是每个用户也可以使用它们。如果您需要在启动守护程序时使用其他方法,但这通常取决于目标应用程序。那么用户环境变量呢?我记得我能够设置用户可以使用的环境变量…您必须在shell init脚本中为该用户在其主目录中设置每个用户的变量。是的,我的意思是。不过,使用chef可以吗?当然,这些只是文件,因此您可以像使用
    模板
    文件
    资源编写其他文件一样编写它们。