在Chef中导出env变量的最佳方法是什么?

时间:2016-08-11 02:15:55

标签: ruby chef chef-recipe cookbook recipe

我正在尝试在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

如果有更好的方法可以告诉我。

1 个答案:

答案 0 :(得分:0)

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