【发布时间】:2017-12-15 07:46:23
【问题描述】:
我正在尝试在 bash 中设置以下环境变量:
ConnectionStrings:DefaultConnection=someValue
我正在使用以下命令:
export ConnectionStrings:DefaultConnection=something
在 bash 中我收到以下错误:
export: 'ConnectionStrings:DefaultConnection=something': not a valid identifier
在zsh中出现以下错误:
export: not valid in this context: ConnectionStrings:DefaultConnection
如何设置变量名包含冒号的环境变量?
【问题讨论】:
-
我不认为你可以在
bash中做到这一点 -
既然冒号有特殊含义?
-
bash 中的变量名只能包含字母数字或下划线,不能以数字开头。另见pubs.opengroup.org/onlinepubs/009695399/basedefs/…
-
这是一个常见问题,但我在 Stack Overflow 上找不到合适的副本。常见的解决方法是
env ConnectionStrings:DefaultConnection=something bash -
所以我碰巧到达了这个页面,因为我在 docker 容器中使用 .NET Core,使用带有冒号的环境变量,并且应用程序是从 shell 脚本启动的。 shell 脚本会删除环境变量,因为它不喜欢它们。对我来说,解决方法是使用另一种支持的冒号格式来加双下划线,.NET Core 非常支持这种格式。为此,
ConnectionStrings:DefaultConnection变为ConnectionStrings__DefaultConnection
标签: bash environment-variables zsh