java如何调用shell脚本

avatar
作者
猴君
阅读量:2

在Java中可以使用ProcessBuilder类来调用shell脚本。以下是一个示例代码:

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;  public class ShellScriptExample {     public static void main(String[] args) {         try {             // 创建ProcessBuilder对象并指定要执行的命令             ProcessBuilder processBuilder = new ProcessBuilder("/bin/sh", "/path/to/script.sh");              // 设置工作目录(可选)             processBuilder.directory(new File("/path/to/directory"));              // 启动命令并获取进程对象             Process process = processBuilder.start();              // 读取命令的输出             BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));             String line;             while ((line = reader.readLine()) != null) {                 System.out.println(line);             }              // 等待命令执行完毕             int exitCode = process.waitFor();              if (exitCode == 0) {                 System.out.println("命令执行成功");             } else {                 System.out.println("命令执行失败");             }          } catch (IOException | InterruptedException e) {             e.printStackTrace();         }     } } 

在上述代码中,我们使用ProcessBuilder类设置要执行的命令和工作目录。然后,我们使用start()方法启动命令并获取进程对象。通过getInputStream()方法可以获取命令的输出流,我们可以通过读取该流来获取命令的输出。

最后,我们使用waitFor()方法等待命令执行完毕,并获取命令的退出码。根据退出码的值,我们可以判断命令是否执行成功。

请注意,以上示例中的命令路径和工作目录应根据实际情况进行修改。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!