如何在脚本本身内改变环境,以便其他后续代码将忽略调用环境的状态,并认为环境是我设置的。
答案 0 :(得分:0)
我不确定'后续代码'是什么意思。
如果您指的是同一节点进程中的',则很容易:
// process.env.PATH = 'foobar';
require('child_process').exec('ls', function(err, result) {
if (err)
console.log('error', err);
else
console.log('ls', result);
});
首先注释掉第一行,尝试这个脚本,它会正常工作。之后,删除注释,以便废话覆盖PATH,exec
将失败,因为它无法在PATH中找到ls
命令。
如果您对任何后续节点进程的意思',我可能会在我的第一个脚本'之后启动,但这是不可能的,因为以下进程的父进程是您的shell而不是您的脚本。子进程无法更改其父进程的环境。