在Java中执行sh文件可以使用ProcessBuilder类来实现。下面是一个简单的示例代码:
import java.io.IOException;
public class ExecuteShellScript {
public static void main(String[] args) {
try {
// 创建ProcessBuilder对象,并指定要执行的命令和参数
ProcessBuilder pb = new ProcessBuilder("sh", "/path/to/your/script.sh");
// 设置工作目录(可选)
pb.directory(new File("/path/to/your/directory"));
// 启动进程并等待执行完成
Process process = pb.start();
int exitCode = process.waitFor();
// 打印执行结果
System.out.println("执行结果: " + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
在上面的示例代码中,通过创建ProcessBuilder对象,并指定要执行的命令和参数来执行sh文件。你需要将/path/to/your/script.sh
替换为你实际的sh文件路径。如果需要指定工作目录,可以使用pb.directory(new File("/path/to/your/directory"))
来设置,否则可以省略。最后,通过调用pb.start()
启动进程,并通过process.waitFor()
等待进程执行完成。执行结果可以通过process.exitValue()
获取。