【发布时间】:2016-02-02 23:09:00
【问题描述】:
我正在使用 bash,并且有一个名为 x.config 的文件,其中包含以下内容:
MY_VAR=Something1
ANOTHER=Something2
要将这些作为环境变量加载,我只需使用 source:
$ source x.config
但如果 MY_VAR 被称为 MY-VAR,这将不起作用:
MY-VAR=Something1
ANOTHER=Something2
如果我做同样的事情,我会得到:
x.config:1: command not found: MY-VAR=Something1
我尝试过逃避- 和许多其他事情,但我被卡住了。有人知道解决方法吗?
【问题讨论】:
-
变量名不能包含连字符
-
为什么不能使用下划线?
-
@Johan
Well I know you can escape it if you do env 'MY-VAR=..'不,你不能 -
@Johan 你不能这样做,改变你的应用程序使用有效的环境变量。
-
@123
env 'MY-VAR=3' bash会将变量添加到环境中;它只是没有作为 shell 环境变量公开。它将被传递给任何可能使用它的子进程。
标签: bash environment-variables