从node.js更改终端的环境变量

时间:2018-07-03 05:37:59

标签: node.js linux environment-variables aws-cli

我正在使用一个简单的node.js CLI,该CLI为AWS提供(MF)身份验证功能。这要求在当前终端中调用AWS CLI并更新环境变量(以便允许直接调用aws cli或aws cli的其他使用者来调用它)。

是否有任何方法可以更新环境变量,以便可以将其提供给调用终端? process.env['KEY'] = 'VALUE'require('child_process').exec('export KEY=VALUE', ...)都不起作用,因为它们似乎与当前或子进程隔离,而不与执行终端隔离。

仍然允许通过node.js CLI进行简单调用的解决方案或替代方案将不胜感激!我已经有一个bash脚本可以执行此操作,但是我希望允许通过节点进行调用,以便安装更容易并提供与其他功能的一致接口。

OS:当前为linux,可能以后也为Windows。 节点版本:10 +

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,则您正在尝试将环境变量从子进程传递回父进程。这是不可能的。但是,值得尝试将环境变量作为字符串输出吐出,并使用它在父进程中获取环境。