如何使用 Chef 配方通过读取 Shell 脚本来设置环境变量?
How can you use a Chef recipe to set an environment variable by reading from Shell script?
我需要从 Shell 脚本中读取凭据并将其设置为环境变量。
chef 中的上一个代码
ENV['password'] = '123'
现在我正在尝试使用下面的代码,但它不起作用。
bash 'set_password' do
code <<-EOH
password=$(sh /opt/get_password.sh root)
EOH
guard_interpreter :bash
environment ({ 'password' => $password })
end unless node.attribute?('ec2')
如果您想将 get_password.sh
脚本的输出 (stdout) 放入环境变量中,您可以简单地执行以下操作:
ENV['password'] = `/opt/get_password.sh root`
那么这个环境变量就可以在recipe的其他地方引用了
我需要从 Shell 脚本中读取凭据并将其设置为环境变量。
chef 中的上一个代码
ENV['password'] = '123'
现在我正在尝试使用下面的代码,但它不起作用。
bash 'set_password' do
code <<-EOH
password=$(sh /opt/get_password.sh root)
EOH
guard_interpreter :bash
environment ({ 'password' => $password })
end unless node.attribute?('ec2')
如果您想将 get_password.sh
脚本的输出 (stdout) 放入环境变量中,您可以简单地执行以下操作:
ENV['password'] = `/opt/get_password.sh root`
那么这个环境变量就可以在recipe的其他地方引用了