例如,Symfony的文档提供了一些示例:
DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name"
DB_USER=root
为什么在第一个例子中使用引号(也称为括号)而不是第二个例子?
如果适用的答案取决于应用程序解析.env文件,请以Symfony为基础。
发布于 2022-03-19 14:00:52
TL;DR解决方案:当字符串包含空格或某些特殊字符和特定语法时,使用引号。其中包括:
\
即使在未引号的字符串中也会给出空间),mark\ 'styles like'"this"
),#
) (如果它不在引号字符串或$(…)
中),(
和)
) -取决于上下文,>
、<
、2>
、|
等)*
)和问号(?
),因为它用于全局,{…}
中以逗号分隔的文本(因为它提供了文本的多个变体- {foo,bar}baz
扩展到foobaz barbaz
),.env
文件,根据你所链接的网页的说法,是普通的bash
脚本。这意味着:
date
“#非标准语法,由bash接受。在另一种情况下,它将以shell命令的形式使用给定的变量运行第二个和后面所有的“单词”。请参阅bash(1)
手册。
根据文档,微软的Windows不支持它。它没有提到任何关于Windows上的变量扩展语法。
https://stackoverflow.com/questions/71538752
复制相似问题