如何在厨师中使用用户定义的环境变量
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 现在作为系统服务运行,或者如果未定义环境变量怎么办?可能有更简洁的方法来实现您的目标(如果我们知道的话......)。
我正在尝试在我的模板资源路径中使用用户定义的变量,如下所示。但我不确定如何在 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 现在作为系统服务运行,或者如果未定义环境变量怎么办?可能有更简洁的方法来实现您的目标(如果我们知道的话......)。