将数组值分配给 .env 文件上的 ENV var
Posted
技术标签:
【中文标题】将数组值分配给 .env 文件上的 ENV var【英文标题】:assign array value to ENV var on .env file 【发布时间】: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']
谁能告诉我是哪一个?
【问题讨论】:
【参考方案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 字符串相比,这是一个不那么笨拙的解决方案。以上是关于将数组值分配给 .env 文件上的 ENV var的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Nuxt 上的 scss 文件中从 env 导入颜色变量
如何在 GitHub Actions 中使用 bash 表达式设置 env var?
在 Windows power shell 中,如何提取属性文件值并将其保存到 env var?
GCP kms加密env var并通过cloudbuild.yaml将加密密钥传递给谷歌应用引擎