2015-08-27 62 views
4

我需要在我的.env文件上設置一個字符串數組,並且找不到有關正確語法的信息。測試這需要相當長的一段時間,所以我想節省一些時間。有些選項應該可以工作:將數組值賦給.env文件中的ENV var

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

有人可以告訴我嗎?

在此先感謝。

回答

5

據我所知,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 

這背後的原因是爲了設置其他types of env variables is spotty外殼和操作系統的支持。

您可以使用分隔符(如逗號或管道(|))並將字符串拆分爲ENV['FOO'].split('|')。但也許你正在嘗試做的事情應該用一個結合ENV變量的初始化器來解決。

+0

林與您的意見分裂var使用逗號。謝謝@max。 – ntonnelier

+0

關於通過初始化器組合ENV變量的很好建議。與分割var字符串相比,這是一個非常少的解決方案。 – Marc