2011-02-10 2 views
2

У меня есть среда, называемая $REP, как я могу получить доступ к значению этой переменной с помощью Xulrunner в среде Linux?В xul, как получить переменную окружения?

--udpate

пытается с nslEnvironment:

var env = Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment); 
dump("bash=" + env.exists("BASH") + '\n'); 
dump("bash=" + env.exists("$BASH") + '\n'); 

выход был:

bash=false 
bash=false 

, как вы себе представить, что должен вывести "/ bin/Баш", как это делает в терминале. Я также пробовал использовать get, чтобы узнать, был ли это просто метод exists, но он вернулся пустым.

Что может быть неправильным здесь?

+0

На какой платформе? –

+1

@Caspar Kleijne: On linux. –

ответ

4

Используйте nsIEnvironment для чтения (и установки) переменных окружения.

+0

Я пробовал это без успеха. Взгляните на мое обновление .. –

+1

'BASH' не является переменной среды, это переменная оболочки. (Сравните выходные данные 'set' и' env'.) – Neil

-1

Посмотрите на Setting an environment variable in javascript (который вам случайно удалось изменить, случайно!).

Я очень сомневаюсь, что вы сможете прочитать эти переменные из среды браузера.

редактировать:

var oShell = WScript.CreateObject("WScript.Shell"); 
var oSysEnv = oShell.Environment("SYSTEM"); 
WScript.Echo (oSysEnv("PATH")); 

возможно?

+0

если вы видите источник того, что я отредактировал, вы увидите, что я удалил < pre > и добавлю код, создавая его, поэтому он получает sintax hightlight ..;) Кроме того, как вы видите, я уже видел этот вопрос и ответы, но нет ничего о том, как читать. Спасибо за вторую строчку вашего ответа, возможно, это невозможно ... –

+0

Я не знал об этом, я достаточно новичок в этом: o. – akiller

+0

Он выбрасывает «WScript не определен». На самом деле, я полностью не понял этот сценарий. Я предполагаю, что я просто должен изменить значение «PATH» с именем моей переменной, я попробовал системную переменную «BASH», но проблема возникла в первой строке с помощью WScript. –