繁体   English   中英

如何在Chef中使用用户定义的环境变量

[英]how to use user defined environment variables in chef

我正在尝试在模板资源路径中使用用户定义的变量,如下所示。 但是我不确定如何在Chef中检索用户定义的环境变量。 请帮忙。

template "#{user_env_variable}/sys/test.xml" do  
  source "test.xml.erb"  
  owner user1  
  group user1  
  mode '0644'  
end  

user_env_variable.bashrc用户定义的环境变量。

您可以使用ENV来访问ruby中的环境变量,例如ENV['PATH'] 转换为您的代码,将是:

template "#{ENV['user_env_variable']}/sys/test.xml" do  
  source "test.xml.erb"  
  owner user1  
  group user1  
  mode '0644'  
end

请注意:我会认为这样做是错误的做法。 如果Chef-client现在作为系统服务运行,或者未定义环境变量怎么办? 也许,有一种更清洁的方法可以实现您的目标(如果我们知道的话..)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM