在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()
获取。