Java执行Shell脚本
Linux 系统下采用 Java 执行 Shell 脚本,直接上代码:
package com.smbea.demo; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; /**
* 执行 Shell 脚本
* @author hapday
* @date 2017年3月14日 @Time 下午2:28:22
*/
public class ChmodShell {
/**
* 更新文件夹的权限
* @param folderName
*/
public static void updateFolderAuth(String folderName) {
String command = "chmod a+x mk.sh"; // 设置 shell 脚本的为“可读写”与“可执行”
Process process = null;
try {
process = Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();
}
try {
// 阻塞当前线程,直到 command 命令执行完毕
process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
} // 要执行的 shell 脚本
command = "bash mk.sh " + folderName; // 也可以是 ksh、sh 等 try {
process = Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();
} BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
try {
while ( null != (bufferedReader.readLine()) ); bufferedReader.close(); // 关闭缓冲流
} catch (IOException e) {
e.printStackTrace();
}
try {
// 阻塞当前线程,直到 command 命令执行完毕
process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} public static void main(String[] args) {
String parameter = "test"; if(null != args && 0 < args.length) {
parameter = args[0];
} updateFolderAuth(parameter);
}
}
Java执行Shell脚本的更多相关文章
- Java执行shell脚本并返回结果两种方法的完整代码
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的 ...
- 利用java执行shell脚本
BPMN中存在由系统执行的脚本任务,shell脚本任务也是该系统任务脚本中的一种,利用的也是由java执行shell脚本. 代码中的ProcessBuilder类,为java.lang.Process ...
- Java 执行Shell脚本指令
一.介绍 有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本.而Runtime.getRuntime().exec()方法给我们提供了这个功能,而且Runtime.getRu ...
- Java执行Shell脚本“No such file or directory” (win->Linux)异常的可能原因
转自:http://blog.csdn.net/zlpdaisy/article/details/6134314 用Runtime.getRuntime().exec()方法执行Linux的一个She ...
- 关于使用java执行shell脚本获取centos的硬盘序列号和mac地址
1.获取硬盘序列号: 新建shell脚本文件: identifier.sh, 内容为: diskdata=`fdisk -l` diskleft=${diskdata#*"identifie ...
- java执行shell脚本并输出执行情况
1.脚本test.sh,置于/Users/hdwang目录下 #!/bin/sh cd /Users/hdwang echo ls:`ls` ;i<=;i++)); do + ); sleep ...
- java 执行 shell脚本通过mysql load data导入数据
1:load_data_test.sh #!/bin/sh load_data_log=/mnt/load_data_test/load.log load_sql="LOAD DATA LO ...
- Java执行Dos-Shell脚本
Java执行Dos-Shell脚本 1.介绍 2.调用shell脚本 2.1 获取键盘输入 2.2 构建指令 2.3 Java代码 3.Java调用Shell并传入参数 4.Java调用远程的Shel ...
- Java SSH远程执行Shell脚本实现(转)
前言 此程序需要ganymed-ssh2-build210.jar包(下载地址:http://www.ganymed.ethz.ch/ssh2/) 为了调试方便,可以将\ganymed-ssh2-bu ...
随机推荐
- 51nod1453(排列组合)
题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1453 题意: 中文题诶~ 思路: 因为最后一个球总是在编号比 ...
- oracle小知识
设置显示执行时间 set timing on; 不显示:off 最简单的块: begin dbms_output.put_line('Hello,World'); end; 执行结果出现这种情况(执行 ...
- C语言数据结构-栈的实现-初始化、销毁、长度、取栈顶元素、查找、入栈、出栈、显示操作
1.数据结构-栈的实现-C语言 #define MAXSIZE 100 //栈的存储结构 typedef struct { int* base; //栈底指针 int* top; //栈顶指针 int ...
- P3379 【模板】最近公共祖先(LCA)(LCT)
\(\color{#0066ff}{ 题目描述 }\) 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. \(\color{#0066ff}{输入格式}\) 第一行包含三个正整数N.M. ...
- 【转】C#中HttpWebRequest的GetRequestStream执行的效率太低,甚至偶尔死掉
http://www.cnblogs.com/summer_adai/archive/2013/04/26/3045261.html
- 20.包含min函数的栈
题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)). 思路分析: 设置两个栈,一个push,一个放置最小元素. 代码: impor ...
- springboot整合mybatis,redis,代码(四)
一 说明 这是spring整合redis注解开发的系类: 二 正文 在注解开发时候,会有这几个注解需要注意: 具体含义: 1.@Cacheable 可以标记在方法上,也可以标记在类上.当标记在方法上时 ...
- springboot整合dubbo注解方式(三)
笔者用自己代码测试时候发现这个版本信息,可以没有,也可以制定一个就可以了,没有太大的问题,只是需要注意引入的依赖问题,两个jar与一个jar的问题, 然后就是接口公共依赖问题,案例是把我找的几个案例进 ...
- org.json里实现XML和JSON之间对象互转
org.json包里有一个类org.json.XML可以实现XML和JSON之间的转换.http://www.json.org/javadoc/org/json/XML.html JSONObject ...
- AngularJS中【Error: [$rootScope:inprog]】的解决办法
AngularJs脏数据检查冲突 Error: [$rootScope:inprog] http://errors.angularjs.org/1.5.8/$rootScope/inprog?p0=% ...