`

shell 跟java 相互调用和获取结果

    博客分类:
  • Java
阅读更多

被调用的shell

a.sh

#!/bin/bash
echo 111
exit 8

 java 代码

	public static void main(String[] args) throws IOException {
		Process p = Runtime.getRuntime().exec(command);
		InputStream is = p.getInputStream();
		int data;
		StringBuffer strBuffer = new StringBuffer();
		while ((data = is.read()) != -1) {
			strBuffer.append((char) data);
		}
		
		System.out.println("命令:\n" + command);
		System.out.println("结果:\n" + p.exitValue());
		System.out.println("log:\n" + strBuffer.toString());
		int ret = p.exitValue(); // 全路径
		System.exit(ret); // 直接返回shell执行的结果
	}

 调用java的shell

test.sh

#!/bin/bash
#调用java打包后的jar文件
java -jar test.jar
#显示执行结果
echo $?
 
分享到:
评论

相关推荐

    android系统中调用shell脚本

    在Android系统中,由于安全性和权限的限制,直接调用shell脚本并不像在Linux或Unix环境下那样简单。然而,对于非root用户来说,确实有一些方法可以实现对shell脚本的调用,尤其是在开发和调试过程中。下面我们将深入...

    方法调用序列追踪工具

    此工具专门针对Java方法,能够提供详细的调用链路信息,帮助开发者了解方法如何相互作用,以及这种交互如何影响程序的整体行为。 【压缩包子文件的文件名称列表】:MethodInvocationSequenceTracer 这个压缩包可能...

    JAVA实现Linux中word转换pdf

    实际应用中,你需要添加错误处理和结果检查。 10. **部署和依赖管理**: 如果你在使用Maven或Gradle这样的构建工具,可以将依赖项添加到项目配置中,这样在构建时会自动下载和管理所需的库。 以上就是Java在Linux...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    Java工程师面试宝典

    - **返回结果集**:获取查询结果。 ##### 8.5 存储过程 - **定义**:一组预先定义并编译好的SQL语句,可以在数据库中保存并多次执行。 - **优点**: - **提高性能**:预编译的存储过程执行速度快。 - **减少网络...

    Java笔记综合

    - **this()**:在同一类的不同构造器之间互相调用。 - **this.**:引用当前对象的成员变量或方法。 **3.9 重载和重写** - **重载**:同一个类中,方法名相同但参数不同的多个方法。 - **重写**:子类覆盖父类的...

    CORBA_example.rar_corba

    7. **运行脚本**:启动服务器和客户端的批处理脚本或shell脚本,通常包含设置环境变量、编译和运行程序的命令。 通过这个示例,你可以学习到如何在Java中设置CORBA环境,如何定义和实现接口,以及如何在客户端和...

    Shell Compatible Wildcards-开源

    C-API(应用程序编程接口)是 C 语言风格的接口,使得不同语言的程序能够相互交互,例如,一个用 Python 或 Java 编写的程序可以调用这个 C 库来完成通配符匹配。 在实际应用中,Shell 通配符是非常实用的。`*`代表...

    ssh商城源码

    SSH商城源码是一款基于Java开发的电子商务平台,其名称中的"SSH"并非指安全外壳协议(Secure Shell),而是Spring、Struts和Hibernate三个开源框架的缩写,它们是Java领域中常用的MVC(模型-视图-控制器)架构模式的...

    面试总结2019年9月3日.doc

    32. **Mybatis+数据库连接池获取和归还连接**:通过DataSource接口获取连接,操作完毕后调用Connection的close方法,实际并未关闭,而是归还给连接池。 在面试结束时,提出的问题表明你对职位的热情和职业发展计划...

    Android 进程注入

    这可以通过`ActivityManager`类的API获取,或者使用`ps`命令在shell环境中获取。 5. **注入代码实现**:注入的代码通常以共享库(.so文件)的形式存在。通过`dlopen()`函数加载动态链接库,然后调用`dlsym()`获取库...

    matlab开发-bashscripttocompilematlabcodeineachdirectory

    它可能首先获取当前目录下的所有子目录,然后对每个子目录执行相同的操作,即调用MATLAB编译器。 2. **文件操作**:脚本可能使用`cd`命令改变目录,进入子目录,然后执行编译命令。同时,`ls`和`find`命令用于查找...

    Android网络架构详解

    开发者可以通过`adb shell dumpsys wifi`命令查看WiFi的详细信息和连接过程。 3. **ConnectivityService**:作为网络连接的核心,ConnectivityService负责网络的有效性检测、网络选择、网络配置以及向其他系统组件...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    FpCloudTest

    在网络环境中,Socket提供了一种标准接口,使得不同操作系统上的程序能够相互通信。在TCP/IP协议栈中,Socket分为两种类型:流式Socket(TCP)和数据报Socket(UDP)。TCP提供的是面向连接、可靠的双向通信,而UDP则...

    Android群英传-前言.md

    - **组成**:Java语言编写的API集合,为应用程序提供各种服务和功能。 - **核心组件**:Activity Manager、Content Provider、View System、Notification Manager等。 **1.2.4 Standard libraries** - **定义**:...

    推荐一份阿里大厂面试时的几道题目

    - **API调用技术**:如何使用Shell或Python脚本调用API接口。 - **数据集成工具**:DataX等工具的使用方法及其优势。 - **分布式计算框架**:如Spark、Hadoop等框架的特点及其应用场景。 - **UDF开发**:在计算引擎...

Global site tag (gtag.js) - Google Analytics