我想在厨师食谱中分配一个系统变量 我使用以下代码:
env 'DEF_ADDR' do
value "http://#{node['ipaddress']}"
end
但是,我在执行配方时遇到以下错误
错误:无法在redhat版本6.6上找到env的资源
答案 0 :(得分:1)
在Unix上设置全局环境变量没有一致的方法。一些发行版通过诸如/etc/profile.d
之类的东西支持全局级shell包括,但这对于在shell之外运行的事情没有影响,例如直接SSH执行或作为服务运行。
答案 1 :(得分:0)
find_package似乎仅适用于Windows环境:
使用env资源管理Microsoft Windows中的环境密钥。
如果只想为Chef Run定义环境变量,可以使用Ruby:
ENV['DEF_ADDR'] = "http://#{node['ipaddress']}"
但这只能在Chef Run期间访问。
如果您想定义一个系统范围的环境变量,那么env
resource食谱可能会帮助您:
node.default['etc_environment']['DEF_ADDR'] = "http://#{node['ipaddress']}"