【问题标题】:Access shell environment variables in Java在 Java 中访问 shell 环境变量
【发布时间】:2011-04-26 22:46:05
【问题描述】:

有谁知道如何在 Java 中访问标准 shell 环境的环境变量?我正在使用 ProcessBuilder 类,我必须指定在我正在运行的 shell 脚本中使用的特定环境变量,这些变量存在于标准 shell 环境中。

无法访问 ProcessBuilder 环境。

【问题讨论】:

    标签: java shell environment-variables


    【解决方案1】:

    您可以通过System.getenv()获取程序创建时存在的环境变量:

    http://download.oracle.com/javase/tutorial/essential/environment/env.html

    当 Java 应用程序使用 ProcessBuilder 对象创建新进程时,传递给新进程的默认环境变量集与提供给应用程序的虚拟机进程的环境变量集相同。应用程序可以使用 ProcessBuilder.environment 更改此设置。

    看起来您的子进程应该会自动获取您的环境。

    【讨论】:

    • 我已经厌倦了这种方法 - 请参阅上面的评论。
    • @denis,你的流程是如何开始的?
    • 您使用的是什么 Java 版本?
    【解决方案2】:
    processBuilder.environment().get("variablename");
    

    【讨论】:

    • 不,这不起作用,我已经打印了 Process Builder 环境中的所有变量,而我正在寻找的变量不存在。但是,当他们在终端中输入 env 时,你能解释这一点吗?
    • 您是否从同一个终端启动了 java 应用程序?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 2018-04-27
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    相关资源
    最近更新 更多