2014-10-20 2 views
2

Мне нравится мой node.js столько, что я хочу использовать, это мой bash запуск сценария ~/.bashrc, но я не знаю, как экспортировать переменную.Как экспортировать переменную env в node.js

В настоящее время я должен использовать этот подход:

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

Возможный дубликат [Как изменить значение process.env.PORT в node.js?] (Http://stackoverflow.com/questions/13333221/how-to-change-value-of-process-env- port-in-node-js) – rafaelcastrocouto

+0

попробуйте использовать «#.». как первая строка и сохраните первый блок кода – rafaelcastrocouto

+2

@rafaelcastrocouto, вы не понимаете вопроса и пытаетесь его закрыть? Мне нужно изменить переменную изнутри node.js, и пусть родительский процесс сохранит ее. Вопрос, который вы имеете в виду, касается изменения переменной PORT до запуска node.js. – exebook

ответ

2

Node.js будет запускаться в отдельном процессе, который получает копию окружения. Вы не можете изменить среду родительского процесса (исполняющего .bashrc).

Но следующий вопрос имеет ответ для вас: Can a shell script set environment variables of the calling shell?

Вы можете написать новый файл сценария внутри Node.js и вызывать его через source.

+0

'eval' не работал, но' source' сделал. – exebook