Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java执行shell脚本

作者:身后错过痛过漫长情节ゝ   发布日期:2026-04-12   浏览:85

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();
        }
    }
}

解释说明:

  1. 定义命令String command = "ls -l"; 这里定义了一个简单的shell命令 ls -l,用于列出当前目录下的文件及其详细信息。
  2. ProcessBuilder:使用 ProcessBuilder 来启动一个新的进程执行shell命令。/bin/bash -c 表示通过bash解释器执行命令。
  3. 启动进程processBuilder.start() 启动进程。
  4. 读取输出:通过 BufferedReader 读取命令执行后的标准输出流,并逐行打印出来。
  5. 等待完成process.waitFor() 等待命令执行完毕,并返回退出状态码。
  6. 异常处理:捕获并打印可能的异常。

这个例子展示了如何在Java中执行一个简单的shell命令,并获取其输出。你可以根据需要修改 command 变量中的命令内容。

上一篇:在线运行java代码

下一篇:java 有序集合

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站