2014-10-20 93 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