java中调用sh脚本并输出控制台结果
时间: 2024-05-14 10:17:09 浏览: 46
在Java中调用sh脚本可以使用ProcessBuilder来执行命令并获取控制台输出。
以下是一个简单的示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) {
try {
// 创建ProcessBuilder对象
ProcessBuilder pb = new ProcessBuilder("/bin/sh", "path/to/your/script.sh");
// 启动进程并等待执行完成
Process process = pb.start();
process.waitFor();
// 获取控制台输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们创建了一个ProcessBuilder对象并传入要执行的脚本路径,然后启动进程并等待执行完成。最后我们读取控制台输出结果并打印出来。注意,如果脚本中有错误信息需要输出,需要通过getErrorStream()方法来获取。
阅读全文