1

我尝试从 Java 程序运行 shell 脚本,但没有执行整个脚本。知道为什么我们会遇到这样的问题吗?

执行 shell 脚本的 Java 代码:

File file = new File("/path/to/script");
String COMMAND= "./run";
ProcessBuilder p = new ProcessBuilder(COMMAND);
p.directory(file);
try {
    Process startProcess= p.start();
} catch (IOException e) {
    e.printStackTrace();
}

该脚本运行良好,但并未执行整个脚本。似乎只有第一行正在执行。

4

1 回答 1

1

如果您确定脚本开始运行,则问题不在 java 中,而是在脚本本身中。

差异的原因可能是错误的路径或错误的环境。当您从控制台运行脚本时,您处于用户环境中,因此脚本可以使用所有环境变量。

尝试添加一些调试输出来解决问题。

于 2011-10-30T14:03:25.710 回答