gpt4 book ai didi

ruby - 从 Ruby 文件中读取变量

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:58 25 4
gpt4 key购买 nike

有没有办法读入环境变量文件?

在 bash 中我有一个可以使用的文件 env.sh

环境.sh

foo="bar"

bash 文件

set -a
source env.sh

这将允许我像在 ruby​​ 脚本中声明它一样使用 foo。

还有没有办法确保这个文件是不可读的,这样密码就可以存储在这个文件中?

最佳答案

听起来您应该为用户/管理员提供一个文件示例以针对他们的个人环境进行修改,然后从中填充环境,同时或许避免在存储库中包含敏感信息的文件。注意:每个文件的安全性将由文件所在的位置以及您的操作系统和服务器软件来解决。

如果是这种情况,那么您可以提供一个文件,其中包含您需要从正在配置的程序的管理员/用户那里获得的那种东西的模板。

Ruby 具有 ENV 常量,它的作用类似于 Hash 并保存您正在使用的 shell 的环境。

例如,有一个名为 environment.rb.sample 的文件公开与任何人共享。它有说明和模板,用户可以自由修改,并有说明将文件复制到environment.rb。示例文件如下所示:

# environment.rb.sample
# Copy this file to environment.rb and change the name and password to your credentials
ENV['temp_user_name'] = 'Foo Bar'
ENV['temp_password'] = 'Dazz Kezz

然后文件被复制到这里,也许:

# environment.rb
ENV['temp_user_name'] = 'Joe Admin'
ENV['temp_password'] = 'Super Secure Password'

加载和使用它的文件只是一个 Ruby 文件,由软件的用户/管理员自由修改,看起来像这样并且也公开共享。

# load_environment
require './environment'
puts ENV['temp_user_name']
puts ENV['temp_password']

这会加载文件并使用 ENV,它是应用程序的全局范围常量。

文件权限随后由系统的用户/管理员管理,并像其系统上的任何其他敏感信息一样受到保护。敏感文件也应该在存储库的忽略机制中列出。它永远不应该公开。

关于ruby - 从 Ruby 文件中读取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com