2014-10-20 74 views
2

我喜欢我的node.js这么多,我想用它的是我的bash启动脚本~/.bashrc,但是我不知道如何导出变量。如何在node.js中导出env变量

目前我有使用这种方法:

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出口,只会为当前正在执行的进程,这是节点本身。

+0

的可能重复[如何更改的Node.js process.env.PORT的价值?(http://stackoverflow.com/questions/13333221/how-to-change-value-of-process-env- port-in-node-js) – rafaelcastrocouto 2014-10-20 11:08:53

+0

尝试使用“#”。作为第一行,并保持第一块代码 – rafaelcastrocouto 2014-10-20 11:10:25

+2

@rafaelcastrocouto,你不明白的问题,并试图关闭它呢?我需要从node.js中更改变量,并让父进程保留它。您提到的问题是关于在node.js启动之前更改PORT变量。 – exebook 2014-10-20 11:18:15

回答

2

Node.js将运行在获取环境副本的单独进程中。你不能改变你父进程的环境(执行.bashrc的环境)。

但是以下问题对你一个答案: Can a shell script set environment variables of the calling shell?

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

+0

'eval'不起作用,但'源'做到了。 – exebook 2014-10-20 14:55:24