java调用shell脚本,shell脚本如何返回码值
时间: 2023-12-07 12:39:08 浏览: 131
Java调用shell脚本可以使用Java的Runtime类或ProcessBuilder类。在shell脚本中,可以使用exit命令来设置返回码值。例如,使用exit 0表示成功,使用exit 1表示失败。Java中可以通过Process类的waitFor()方法获取shell脚本的返回码值。
以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ShellCommand {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("sh /path/to/your/shell/script.sh");
int exitCode = process.waitFor();
System.out.println("Shell script exit code: " + exitCode); 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();
}
}
}
```
上述代码中,我们使用Runtime类的exec()方法执行shell脚本,并使用waitFor()方法等待shell脚本执行完成。然后,我们可以使用exit命令设置shell脚本的返回码值,并使用System.out.println()方法输出返回码值。
阅读全文