如下所示,我设置了一个环境变量FOO
,但是当我在下一行执行console.log
时,它会undefined
。如果我将它设置在我执行console.log
的同一行,它就会出现。为什么这样的行为呢?
$ FOO="123"
$ echo $FOO
123
$ node -e "console.log(process.env.FOO)"
undefined
$ FOO="123" node -e "console.log(process.env.FOO)"
123
节点版本:6.6.0
答案 0 :(得分:5)
如果要为当前终端会话设置环境变量,则需要使用EXPORT
因此,此代码将起作用
export FOO=123
node -e "console.log(process.env.FOO)"
123
EXPORT
使子进程可以看到赋值。查看此thread了解详情