【发布时间】:2018-10-16 11:36:56
【问题描述】:
假设有一个变量key1,其值为123
key1=123
所以当我在 linux 环境echo $key1 中运行命令时,我得到的输出为123。
现在我有以下 gulp 任务。
const child_process = require('child_process');
....
gulp.task('printKeyValue', function() {
var value1 = child_process.execSync('echo $key1');
console.log(value1.toString().trim());
});
在这里,我正在尝试使用 Child Process 从 nodejs 访问 linux 变量的值
但是当我运行以下 gulp 任务时,我没有得到想要的输出。
npm run gulp -- printKeyValue
相反,我得到的输出为$key1 而不是123。
看下面的截图
gulp 任务中的其他命令(如 ls 和 pwd)会提供所需的输出。
有人可以帮忙解决这个问题或提出其他方法吗?
【问题讨论】:
-
其实不确定是否重复。你想像标题所说的那样访问 Node.js 中的环境变量,还是像代码所说的那样在子进程命令行中访问?
-
@Amadan 感谢您将我重定向到替代解决方案。找到解决方案后,我尝试了
console.log(process.env.key1);,我得到的输出为undefined,这不是预期的输出。