在Java中执行shell脚本可以使用Java的ProcessBuilder
类。下面是一个简单的例子:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class ShellScriptExecutor {
public static void main(String[] args) {
try {
// 创建ProcessBuilder对象,并指定要执行的shell脚本命令
ProcessBuilder pb = new ProcessBuilder("sh", "/path/to/your/script.sh");
// 可选:设置命令执行的工作目录
pb.directory(new File("/path/to/your/directory"));
// 启动进程并执行shell脚本命令
Process process = pb.start();
// 获取命令执行的输出流
InputStream inputStream = process.getInputStream();
// 使用BufferedReader读取输出流内容
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
int exitCode = process.waitFor();
// 输出命令的退出码
System.out.println("Exit Code: " + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
请注意替换示例中的/path/to/your/script.sh
为您要执行的实际脚本的路径。