繁体   English   中英

如何在 node.js 中导出环境变量

[英]How to export env variable in node.js

我非常喜欢我的node.js ,我想使用它是我的bash启动脚本~/.bashrc ,但我不知道如何导出变量。

目前我必须使用这种方法:

export PS1=`node ~/PS1.js`
export PS2=`node ~/PS2.js`
export PATH=`node ~/PATH.js`

相反,我想要.bashrc看起来有

#!/usr/local/bin/node
//do something, define functions
export_var('PS1', PS1())
export_var('PS2', PS2())
export_var('PATH', generatePATH())

process.env.PATH = something does not export ,只为当前正在执行的进程设置,也就是节点本身。

Node.js 将在一个单独的进程中运行,该进程获取环境的副本。 您无法更改父进程(执行 .bashrc 的进程)的环境。

但是以下问题可以为您提供答案: shell 脚本可以设置调用 shell 的环境变量吗?

您可以从 node.js 中编写一个新的脚本文件并通过source调用它。

一种可能的方法是使用JS打印导出语句,然后在shell中使用eval在当前shell中对其进行评估。

例如 test.js

#!/usr/bin/env node
console.log('export A=40; export B=10');

在外壳中:

eval `./test.js`
echo $A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM