java 执行shell脚本
时间: 2023-11-21 07:57:25 浏览: 112
可以使用Java的Runtime类或ProcessBuilder类来执行Shell脚本。以下是两种方法的示例:
1. 使用Runtime类执行Shell脚本
```java
try {
// 执行Shell脚本
String[] cmd = {"/bin/sh", "/path/to/your/script.sh"};
Process process = Runtime.getRuntime().exec(cmd);
// 获取脚本执行的输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待脚本执行完成
int exitCode = process.waitFor();
System.out.println("脚本执行完成,退出码为:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
```
2. 使用ProcessBuilder类执行Shell脚本
```java
try {
// 执行Shell脚本
ProcessBuilder pb = new ProcessBuilder("/bin/sh", "/path/to/your/script.sh");
Process process = pb.start();
// 获取脚本执行的输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待脚本执行完成
int exitCode = process.waitFor();
System.out.println("脚本执行完成,退出码为:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
```
阅读全文