import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ExecuteShellScript {
public static void main(String[] args) {
// 定义要执行的shell命令
String command = "ls -l"; // 这里以列出当前目录文件详情为例
try {
// 创建一个ProcessBuilder对象,用于启动一个新的进程来执行命令
ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", command);
// 启动进程
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();
System.out.println("Exit Code: " + exitCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
String command = "ls -l"; 这里定义了一个简单的shell命令 ls -l,用于列出当前目录下的文件及其详细信息。ProcessBuilder 来启动一个新的进程执行shell命令。/bin/bash -c 表示通过bash解释器执行命令。processBuilder.start() 启动进程。BufferedReader 读取命令执行后的标准输出流,并逐行打印出来。process.waitFor() 等待命令执行完毕,并返回退出状态码。这个例子展示了如何在Java中执行一个简单的shell命令,并获取其输出。你可以根据需要修改 command 变量中的命令内容。
上一篇:在线运行java代码
下一篇:java 有序集合
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站