【发布时间】:2018-07-22 04:24:16
【问题描述】:
我想问一个愚蠢的问题,但我已经用谷歌搜索了一段时间,但找不到令人满意的答案。 SO也没有这样的讨论,只有How to set NODE_ENV to production/development in OS X和How can I set NODE_ENV=production on Windows?
要在一行中运行一个又一个命令,我们通常通过;(或&&)加入它们
所以我假设我应该像 PORT=3000 ; node server.js 或 export PORT=3000; node server.js 这样运行命令,就像 PORT=3000 ; echo $PORT 一样
但我们只是在PORT=3000 node server.js(不带;或&&)之间放了一个空格,然后将PORT读入process.env.PORT.@shell如何让nodejs获取环境变量?如果有人能显示nodejs代码会更好。
----- 更新 ------
我对这种 shell 语法感到困惑的原因(根据我的有限知识)是我认为 Unix 命令行的一般格式是
command options(s) filename(s)
中间的空格用于分隔命令与选项和文件名。那么如何使用它来分隔 2 个命令呢?
【问题讨论】:
-
为什么你认为它只在节点可用?做
PORT=3000 echo Qiulang -
我想你是想帮忙,但我的理解是在两个命令之间放置一个空格是行不通的。这是我的问题。
-
我说它不是 Nodejs 特定的,所以你不会得到任何 Nodejs 代码。不确定,但它是 shell 语法的一部分
-
@Qiulang 老兄,我认为它是有效的语法,你可以尝试使用
PORT=1000 echo 'hello' && echo 'world',如果前半部分失败,&& 之后的所有内容都不会被执行。 -
@Xlee 我会建议你尝试 PORT=1000 echo $PORT ,你可以看到结果是空的。即 PORT 未设置
标签: node.js bash shell environment-variables