【问题标题】:Changing environment variables of terminal from node.js从 node.js 更改终端的环境变量
【发布时间】:2018-12-11 08:06:52
【问题描述】:

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

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

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

操作系统:目前是 linux,以后也可能是 windows。 节点版本:10+

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 似乎确实如此。最后,我通过使用 AWS 配置文件而不是环境变量解决了这个问题,环境变量可以提供类似的功能并且没有这个限制。感谢您的帮助!
    猜你喜欢
    • 2021-06-29
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 2019-02-08
    • 2020-12-22
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    相关资源
    最近更新 更多