在Java中访问shell环境变量

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

访问ProcessBuilder环境不起作用。

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

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

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

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

 processBuilder.environment().get("variablename");