【发布时间】:2011-04-26 22:46:05
【问题描述】:
有谁知道如何在 Java 中访问标准 shell 环境的环境变量?我正在使用 ProcessBuilder 类,我必须指定在我正在运行的 shell 脚本中使用的特定环境变量,这些变量存在于标准 shell 环境中。
无法访问 ProcessBuilder 环境。
【问题讨论】:
标签: java shell environment-variables
有谁知道如何在 Java 中访问标准 shell 环境的环境变量?我正在使用 ProcessBuilder 类,我必须指定在我正在运行的 shell 脚本中使用的特定环境变量,这些变量存在于标准 shell 环境中。
无法访问 ProcessBuilder 环境。
【问题讨论】:
标签: java shell environment-variables
您可以通过System.getenv()获取程序创建时存在的环境变量:
http://download.oracle.com/javase/tutorial/essential/environment/env.html
当 Java 应用程序使用 ProcessBuilder 对象创建新进程时,传递给新进程的默认环境变量集与提供给应用程序的虚拟机进程的环境变量集相同。应用程序可以使用 ProcessBuilder.environment 更改此设置。
看起来您的子进程应该会自动获取您的环境。
【讨论】:
processBuilder.environment().get("variablename");
【讨论】: