【问题标题】:What is the best way to export env variable within Chef在 Chef 中导出 env 变量的最佳方法是什么
【发布时间】:2016-12-17 14:19:19
【问题描述】:

我正在尝试在 Chef 配方中设置 env 变量,以便在运行配方后,我可以执行 echo $VAR1

  bash 'set_env_var' do
    code <<-EOH
      echo export VAR1="https://#{node['fqdn']}" >> /etc/profile
      source /etc/profile
    EOH
    not_if "grep -q VAR1="https://#{node['fqdn']}" >> /etc/profile"
  end

如果有更好的方法,请告诉我。

【问题讨论】:

    标签: ruby chef-infra chef-recipe cookbook recipe


    【解决方案1】:

    这不是 Unix 支持的功能。如果您的发行版的默认 shell RC 文件支持它,那么您可以获得的最接近的方法是写入 /etc/profile.d 之类的东西,但两者都不会对当前 shell 产生任何影响(您需要启动一个新的 shell)并且不包括所有执行场景。环境变量可能是您要解决的任何问题的错误答案。

    【讨论】:

    • 我是否应该考虑在文件中添加VAR1 的值,然后从文件中读出VAR1 的值。
    • 取决于你在做什么,但是是的,配置文件会更标准。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2017-11-01
    • 2023-04-08
    • 1970-01-01
    • 2016-04-15
    • 2020-03-03
    相关资源
    最近更新 更多