将命令组成字符串传入即可,多段命令中间使用&&隔开
String command = "command1 && command2";
private void executeLinux(String command){
try {
ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", command);
Process process = processBuilder.start();
// 获取命令输出
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 获取命令错误输出
InputStream errorStream = process.getErrorStream();
BufferedReader errorReader = new BufferedReader(new InputStreamReader(errorStream));
while ((line = errorReader.readLine()) != null) {
System.err.println(line);
}
// 等待命令执行完成
int exitCode = process.waitFor();
System.out.println("命令执行完成,退出码:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}