如何使用 Chef 配方通過讀取 Shell 腳本來設置環境變量?

拉吉

我需要從 Shell 腳本中讀取憑據並將其設置為環境變量。

以前的廚師代碼

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')
seshadri_c

如果要將get_password.sh腳本的輸出 (stdout)轉換為環境變量,只需執行以下操作:

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

然後這個環境變量可以在配方的其他地方引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Chef配方将多行附加到配置文件

如何从Chef的Node删除配方

安装配方运行后如何使用Chef和Vagrant配置软件

使用 Chef 配方安装 Nokigori 时出错

使用 Chef 打开 Mongo Shell

Shell腳本從TXT讀取行並分配給env變量?

如何迭代多個變量並使用 Shell 腳本回顯它們?

使用 ./ 而不是 eval 設置環境變量

如何通過使用 API 數據設置 useState 來處理延遲

如何僅從 Shell 腳本中的變量返回整數並丟棄字母和前導零?

循環變量不會傳遞給 Jenkins 中的 shell 腳本

如何通過在 python 中讀取來自 sys.argv 的輸入有效地創建多個 json 有效負載

如何通過讀取 shell 腳本中的 csv 文件將 2 列的總和添加到新列中

如何從docker中的YAML文件中讀取環境變量?

從 shell 腳本中的文件讀取時缺少字符

如何在 Python 中通過 __init__ 設置類變量?

如何在 gitlab-ci 腳本中將 docker inspect 的結果設置為 env 變量

Bash 使用腳本獲取轉義的變量鍵值

通過使用scanner.Scan() 從文件中讀取數據來同步可組合goroutine 的問題

如何從使用 bash 腳本運行的 C 程序中獲取變量的值?

如何在NodeJS中動態讀取環境變量鍵和值

無法使用“查找”在 shell 腳本中設置變量

如何在 Bamboo 中設置環境變量?

你能用 IConfiguration.GetSection() 來讀取環境變量嗎?

如何使用 python 在 GitHub 操作中設置環境變量

如何通過 Shell 腳本更改用戶名

Shell 腳本:讀取 JSON 字符串輸入參數

Docker / React - 不使用環境變量的腳本

數據幀 tolist 添加 [] 或數據幀在通過 for 循環時讀取標題。如何讓列表在 for 循環中工作?