我如何在脚本本身内更改环境,以便其他后续代码将忽略调用环境的状态并认为环境是我设置的。
问问题
472 次
1 回答
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
将失败,因为它无法ls
在您的 PATH 中找到该命令。
如果您的意思是“对于任何后续节点进程,我可能会在我的第一个脚本之后启动”,这是不可能的,因为这些后续进程的父进程是您的 shell 而不是您的脚本。子进程不能改变其父进程的环境。
于 2013-05-24T16:06:30.667 回答