2011-02-10 3 views
2

$REP이라는 환경이 있는데, Linux 환경에서 Xulrunner를 사용하여이 변수의 값에 어떻게 액세스 할 수 있습니까?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 

당신이 그것으로,이 출력해야 "/ 빈/bash는"상상 터미널에서 않습니다. 또한 get을 사용하여 시도한 결과 exists 메서드가 잘못되었는지 만 확인되었지만 비어있는 값을 반환했습니다.

무엇이 잘못 될 수 있습니까?

+0

어떤 플랫폼 에서요? –

+1

@Caspar Kleijne : 리눅스에서. –

답변

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

나는 그것에 대해 알지 못했습니다. – akiller

+0

"정의되지 않은 WScript"를 발생시킵니다. 사실, 나는이 대본을 완전히 이해하지 못했습니다. 내 변수의 이름으로 "PATH"값을 변경한다고 가정하고 시스템 변수 "BASH"를 시도했지만 문제는 WScript의 첫 번째 줄에서 발생했습니다. –

관련 문제