我正在使用一个简单的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 +
答案 0 :(得分:1)
如果我正确理解了您的问题,则您正在尝试将环境变量从子进程传递回父进程。这是不可能的。但是,值得尝试将环境变量作为字符串输出吐出,并使用它在父进程中获取环境。