【问题标题】:assign array value to ENV var on .env file将数组值分配给 .env 文件上的 ENV var
【发布时间】:2015-11-21 22:36:40
【问题描述】:

我需要在我的 .env 文件中设置一个字符串数组,但找不到有关正确语法的信息。测试这个需要相当长的时间,所以我想节省一些时间。其中一些选项应该可以工作:

MY_ARRAY=[first_string, second_string]
MY_ARRAY=[first_string second_string]
MY_ARRAY=['first_string', 'second_string']

谁能告诉我是哪一个?

【问题讨论】:

    标签: ruby-on-rails configuration environment-variables


    【解决方案1】:

    据我所知,dotenv 不允许设置除字符串(和多行字符串)之外的任何内容。解析器语法为:

    LINE = /
      \A
      (?:export\s+)?    # optional export
      ([\w\.]+)         # key
      (?:\s*=\s*|:\s+?) # separator
      (                 # optional value begin
        '(?:\'|[^'])*'  #   single quoted value
        |               #   or
        "(?:\"|[^"])*"  #   double quoted value
        |               #   or
        [^#\n]+         #   unquoted value
      )?                # value end
      (?:\s*\#.*)?      # optional comment
      \z
    /x
    

    这背后的原因是 shell 和操作系统支持设置其他 types of env variables is spotty

    您可以使用逗号或竖线 (|) 等分隔符并使用 ENV['FOO'].split('|') 分割字符串。但也许你想做的事情应该用一个结合 ENV vars 的初始化程序来解决。

    【讨论】:

    • 我同意您使用逗号分割 var 的建议。谢谢@max。
    • 关于通过初始化程序组合 ENV 变量的好建议。与拆分 var 字符串相比,这是一个不那么笨拙的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2021-02-28
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 2022-12-26
    • 2017-03-12
    • 2017-02-04
    相关资源
    最近更新 更多