有谁知道如何在Java中访问标准shell环境的环境变量?我正在使用ProcessBuilder类,我必须指定我正在运行的shell脚本中使用的特定环境变量,这些变量存在于标准shell环境中。
访问ProcessBuilder环境不起作用。
答案 0 :(得分:9)
您可以通过System.getenv()
:
http://download.oracle.com/javase/tutorial/essential/environment/env.html
当Java应用程序使用ProcessBuilder对象创建新进程时,传递给新进程的默认环境变量集与提供给应用程序虚拟机进程的集相同。应用程序可以使用ProcessBuilder.environment更改此集。
您的子进程看起来应该自动获取您的环境。
答案 1 :(得分:0)
processBuilder.environment().get("variablename");