diff --git a/src/main/java/com/github/hcsp/shell/Fork.java b/src/main/java/com/github/hcsp/shell/Fork.java index 28e0700..39f6b1c 100644 --- a/src/main/java/com/github/hcsp/shell/Fork.java +++ b/src/main/java/com/github/hcsp/shell/Fork.java @@ -3,6 +3,8 @@ import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; public class Fork { public static void main(String[] args) throws Exception { @@ -10,6 +12,12 @@ public static void main(String[] args) throws Exception { // 工作目录是项目目录下的working-directory目录(可以用getWorkingDir()方法得到这个目录对应的File对象) // 传递的命令是sh run.sh // 环境变量是AAA=123 + ProcessBuilder pb =new ProcessBuilder("sh","run.sh"); + pb.directory(getWorkingDir()); + Map environment = pb.environment(); + environment.put("AAA","123"); + pb.redirectOutput(getOutputFile()); + pb.start().waitFor(); } private static File getWorkingDir() { diff --git a/working-directory/output.txt b/working-directory/output.txt index e69de29..8b13789 100644 --- a/working-directory/output.txt +++ b/working-directory/output.txt @@ -0,0 +1 @@ +