我刚刚遇到了这个代码片段:
$ DEVELOPMENT=1 node dev-mode.js
该行运行 node.js 程序并设置环境变量
DEVELOPMENT
。我不明白设置 env 变量的机制是什么?这是有效的语法:$ [var1=value1 var2=value2] [process_name process_params] ?
最佳答案
有两种方法可以从您当前的 shell 一个正在运行的程序中设置传递变量,
使用内置的 export
语法作为
$ export MYVALUE=5
$ echo "MYVALUE is $MYVALUE"
MYVALUE is 5
此语法允许变量在您正在调用的所有后续子 shell 中的当前 shell 中生效(用于命令替换或进程替换等),并且即使在子 shell 终止后,该变量也保持事件状态。
(或)如问题中所问,如果您直接将其发送到命令
$ MYVALUE=5 bash -c 'echo "MYVALUE is $MYVALUE"'
MYVALUE is 5
该值仅传递给子 shell (以
bash -c
开头的子 shell )并且一旦退出就对父 shell 没有影响。你现在可以从上面的语法中观察到 MYVALUE
,它将是空的。$ echo $MYVALUE
$
希望这能回答你的问题。
关于node.js - 将环境变量传递给进程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41183403/