【问题标题】:How can you use a Chef recipe to set an environment variable by reading from Shell script?如何使用 Chef 配方通过读取 Shell 脚本来设置环境变量?
【发布时间】:2021-12-08 15:32:37
【问题描述】:

我需要从 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')

【问题讨论】:

    标签: ruby bash git chef-infra cookbook


    【解决方案1】:

    如果您想将get_password.sh 脚本的输出(stdout)放入环境变量中,您可以这样做:

    ENV['password'] = `/opt/get_password.sh root`
    

    那么这个环境变量就可以在菜谱的其他地方引用了。

    【讨论】:

      猜你喜欢
      • 2011-09-11
      • 2016-12-23
      • 2015-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 2013-09-04
      • 1970-01-01
      相关资源
      最近更新 更多