原文地址:http://hi.baidu.com/qiu1157/blog/item/6b4f02362a7c0c360b55a9e3.html
在你的test.sh的第一行加入
#!/bin/sh
然后在shell下运行chmod a+x test.sh就可以把你的test.sh变成可执行文件了。
另外,要提醒的是你的java程序运行的目录和你shell用户可能不同,所以建议用全路径,比如
Runtime.getRuntime().exec ("/root/bin/test.sh");
----------------------------------------------------------------------------------------------
如果需要输出信息的话
Process process = Runtime.getRuntime().exec("/root/bin/test.sh");
InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null)
System.out.println(line);
input.close();
ir.close();
-----------------------------------------------------------------------------------------------
注意UNIX系统的权限问题 =..=
-----------------------------------------------------------------------------------------------
完整代码:
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
public class RunShell {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//Runtime.getRuntime().exec("/root/bin/test.sh");
Process process = Runtime.getRuntime().exec("/root/bin/test.sh");
InputStreamReader ir = new InputStreamReader(process
.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null)
System.out.println(line);
input.close();
ir.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
总之,Java调用Shell脚本是一个有效的方法来在Java程序中实现复杂的Linux环境下的操作,这种技术尤其适用于需要进行系统级操作和自动化任务的场景。掌握这一技术可以帮助开发者更好地实现跨平台的功能,尤其是在开发...
总结,Java调用Shell脚本是实现系统级任务自动化的重要手段,但同时也需要关注安全性、资源管理和错误处理等问题。通过合理使用Runtime和ProcessBuilder,我们可以构建出高效且安全的Java-Shell交互解决方案。在实际...
* 批量任务:我们可以使用 Java 调用 Shell 命令来执行批量任务,例如使用 `bash` 命令来执行批量脚本。 Java 调用 Shell 命令的优缺点 Java 调用 Shell 命令有很多优点,例如: * 可以执行系统命令或脚本,具有...
### Java调用Shell脚本详解 #### 一、前言 在实际开发过程中,经常会遇到需要结合Java程序与Shell脚本进行操作的情况。通过Java调用Shell脚本不仅可以实现复杂的功能,还可以提高程序的灵活性和扩展性。本文将详细...
首先,Java调用shell脚本主要通过`Runtime`类或`ProcessBuilder`类来实现。`Runtime.getRuntime().exec()`方法允许我们执行系统命令,而`ProcessBuilder`提供了更灵活的命令构建和环境变量设置功能。下面是一个基本...
在java代码中调用执行shell脚本,sqlldr导数与使用sqlplus在shell调用执行存储过程。 linux环境中有2个dba的用户:oracle、erm 还有1个web用户:erm 在linux环境中,这三个用户都可以直接在任意目录下执行该shell...
### Java调用Shell命令知识点详解 #### 一、概述 在特定的应用场景中,比如完成外币资金的调度工作后,可能需要通过Java程序来生成一个文本文件,并进一步利用Shell脚本来实现文件传输等操作。这涉及到Java与操作...
在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如自动化运维、文件管理等,这时就可能需要用到调用Shell脚本。本文将详细介绍如何在Java中完美封装shell脚本的调用方法,并提供相关的...
7. **考虑安全性和性能**:在使用shell脚本时,一定要注意安全问题,避免执行可能导致系统不稳定或数据泄露的命令。同时,频繁的shell调用可能会消耗大量系统资源,因此要合理优化。 8. **存储脚本的位置**:通常,...
Java调用Shell脚本执行DataX任务是一种常见的数据迁移或同步操作。DataX是阿里巴巴开源的数据同步工具,它支持多种数据库之间的数据迁移。在实际应用中,我们可能需要根据特定的业务逻辑,如where条件,来定制数据...
Java 远程调用Shell脚本客户端包是一个实用的工具,专为开发者设计,使得在Java应用程序中执行远程Shell命令变得简单而高效。这个包的主要功能是通过Java代码发起对远程服务器上的Shell脚本的调用,从而实现跨平台的...
3. **批量文件处理**:例如,使用Shell脚本处理大量日志文件,进行日志分析或清理。 4. **跨平台兼容性测试**:通过在不同操作系统上运行Shell脚本,确保Java应用在各种环境下都能正常工作。 ### 总结 Java调用...
Java调用shell脚本解决传参和权限问题的方法 Java调用shell脚本解决传参...Java调用shell脚本解决传参和权限问题的方法可以通过将shell命令或脚本和参数放入一个数组中,并在执行脚本之前赋予脚本执行权限来解决问题。
在Java中,我们可以通过`Runtime.getRuntime().exec()`方法来执行shell命令。例如,以下代码会赋予名为`test.sh`的脚本所有用户的执行权限: ```java String cmdstring = "chmod a+x test.sh"; Process proc = ...
标题"shell 脚本调用Java类"指出我们要讨论的主题是如何在Shell脚本中执行Java程序,尤其是直接调用Java类。下面我们将深入探讨这个主题。 首先,要从Shell脚本中运行Java程序,你需要确保系统已经安装了Java环境,...
使用JAVA调用Shell脚本需要使用Process类,以下是一个示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; public class RunShell { public static void main(String[] args) { ...
下面我们将深入探讨如何使用shell脚本来启动Java程序以及相关的知识点。 首先,我们需要了解Java程序的运行方式。Java应用程序通常由一个主类(包含`main`方法)作为入口点。通过`java`命令,我们可以指定这个主类...