需要帮助来理解代码

时间:2012-10-10 10:20:51

标签: java unix shell-exec

ProcessBuilder pb = new ProcessBuilder("myshellScript.sh", "myArg1", "myArg2");
     Map<String, String> env = pb.environment();
     env.put("VAR1", "myValue");
     env.remove("OTHERVAR");
     env.put("VAR2", env.get("VAR1") + "suffix");
     pb.directory(new File("myDir"));
     Process p = pb.start();

帮助我理解变量。 喜欢(VAR1,myvalue),othervar,mydir

1 个答案:

答案 0 :(得分:1)

pb.environment()

包含当前会话的环境变量。要运行此过程,您需要添加和删除变量。当调用process.start()时,它将能够使用它们

引用docs

  

环境,它是从变量到系统的依赖映射   值。初始值是当前环境的副本   进程(参见System.getenv())。

一般情况下,yoru代码在修改后的环境下运行带有MyArg1和MyArg2参数的myshellScript.sh。