【问题标题】:In xul, how to retrieve an environment variable?在 xul 中,如何检索环境变量?
【发布时间】:2011-02-10 12:45:50
【问题描述】:

我有一个名为$REP 的环境,如何在 Linux 环境中使用 Xulrunner 访问该变量的值?

--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/bash”。我还尝试使用get 来查看是否只是exists 方法错误,但它返回为空。

这里有什么问题?

【问题讨论】:

    标签: javascript linux environment-variables xul xulrunner


    【解决方案1】:

    使用nsIEnvironment 读取(和设置)环境变量。

    【讨论】:

    • BASH 不是环境变量,而是 shell 变量。 (比较setenv的输出。)
    【解决方案2】:

    看看Setting an environment variable in javascript(你碰巧编辑了它,随机!)。

    我非常怀疑您是否能够从浏览器环境中读取这些变量。

    编辑:

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

    也许?

    【讨论】:

    • 如果你看到我编辑的源代码,你会发现我删除了
       并添加了代码格式,所以它得到了 sintax 高亮显示.. ;) 另外,如你所见,我已经看到了那个问题和答案,但是没有关于如何阅读的内容。感谢您回答的第二行,也许这是不可能的..
    • 我不知道,我对此相当陌生:o.
    • 它抛出“WScript 未定义”。实际上,我并没有完全理解这个脚本。我想我只是应该用我的变量名称更改“PATH”值,我尝试了系统变量“BASH”,但问题出现在 WScript 的第一行。
    • 这仅在 Windows 中的 Internet Explorer(或任何使用 JScript)中可用。
    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 2010-10-15
    • 2014-11-26
    • 1970-01-01
    • 2011-05-17
    • 2013-04-18
    • 2013-05-21
    • 2020-05-26
    相关资源
    最近更新 更多