我刚刚遇到了这个代码片段:

$ 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/

10-15 03:27