node.js - 从 node.js 更改终端的环境变量
问题描述
我正在开发一个简单的 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+
解决方案
如果我正确理解您的问题,您正在尝试将环境变量从子进程传递回父进程。这是不可能的。但是,可能值得尝试将环境变量作为字符串输出并使用它来获取父进程中的环境。
推荐阅读
- javascript - 问题无法使用 mongodb (ejs) 在 node.js 中发布
- wolfram-mathematica - 积分变化变量下标
- python - 如何在 python 中使用带有 file.edf 的 ICA 方法来识别噪声分量?
- c# - moving every int in the array one place backwards
- java - 如何为调用其他私有方法的私有 void 方法编写单元测试?
- apache-nifi - 如何使用单流获取多个数据?
- python - Dependency not working with my application
- java - 从输入对话框保存不同的变量
- php - 如何在刀片组件中创建自己的双冒号路径?
- java - AKS-无法编译 16 位整数进行素数检查