public static String runShell(String command){
try{
String[] commands = isLinux()?new String[]{"/bin/sh","-c",command}:new String[]{"cmd","/c",command};
Process process = Runtime.getRuntime().exec(commands);
InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String ln;
StringBuilder result = new StringBuilder();
while ((ln = input.readLine()) != null){
result.append(ln);
result.append("\n");
}
input.close();
ir.close();
return result.toString();
}
catch(Exception e){
e.printStackTrace();//log
return null;
}
}
public static boolean isLinux(){
String os = System.getProperty("os.name").toLowerCase();
if(null != os && os.contains("windows")){
return false;
}
return true;
}
 
1
public static String runShell(String command){
2
    try{
3
        String[] commands = isLinux()?new String[]{"/bin/sh","-c",command}:new String[]{"cmd","/c",command};
4
        Process process = Runtime.getRuntime().exec(commands);          
5
        InputStreamReader ir = new InputStreamReader(process.getInputStream());
6
        LineNumberReader input = new LineNumberReader(ir);
7
        String ln;
8
        StringBuilder result = new StringBuilder();
9
        while ((ln = input.readLine()) != null){           
10
            result.append(ln);
11
            result.append("\n");                       
12
        }
13
        input.close();
14
        ir.close();
15
        return result.toString();           
16
    }
17
    catch(Exception e){
18
        e.printStackTrace();//log
19
        return null;
20
    }       
21
}
22
public static boolean isLinux(){
23
    String os = System.getProperty("os.name").toLowerCase();
24
    if(null != os && os.contains("windows")){
25
        return false;
26
    }
27
    return true;
28
}

java代码中执行liunx命令的更多相关文章

  1. Java代码中执行Linux命令,亲测可用

    前提需要知道怎么在linux怎么新建java文件和怎么编译,否则请先学其他知识!! import java.io.*;public class Test{ public static void mai ...

  2. 在php代码中执行liunx命令

  3. 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果

            今天在公司项目中,发现一个计算运费的妙招.由于运费规则各种各样,因此写一个公式存到数据库.下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了. 一 ...

  4. java util - 在java代码中执行javascript代码工具 rhino-1.7.7.jar

    需要 rhino-1.7.7.jar 包 代码示例: package cn.java.mozilla.javascript; import org.mozilla.javascript.Context ...

  5. java servlet中执行linux命令

    public HttpServletResponse execCmd(String cmd, HttpServletRequest request, HttpServletResponse respo ...

  6. Java中执行外部命令

    在项目中执行一个linux的shell脚本,于是需要在java环境下执行外部命令如系统命令.linux命令的需求,本人小小研究了一下,又上网查了一些资料先整理如下. java执行外部命令主要依赖两个类 ...

  7. mongodb命令行group分组和java代码中group分组

    group分组统计是数据库比较常用的功能,mongodb也不例外.不过相对于普通的增删改查,group操作就略微麻烦一些, 这里对group在shell中的操作.使用java原生代码操作以及集成spr ...

  8. Python中执行外部命令

    有很多需求需要在Python中执行shell命令.启动子进程,并捕获命令的输出和退出状态码,类似于Java中的Runtime类库. subprocess模块的使用: Python使用最广泛的是标准库的 ...

  9. Jenkins中执行docker命令报错

    Cannot connect to the Docker daemon. Is the docker daemon running on this host?   在配置Jenkins从Gitlab自 ...

随机推荐

  1. Android 程序怎么打log

    常见的做法: 1. 定义一个常量(变量)作为是否输出log的flag: 2. 定义一个常量(变量)作为log级别设定: 2. 调试.打包时,按需要调整常量的值,从而控制log打印. 常见代码参考: h ...

  2. HDU 4262 Juggler 树状数组

    将每个球按输入顺序编号,建立 它第几个被扔掉->编号 的映射关系. 记录当前在手里的球的编号,按扔掉的顺序查找这个球的编号,看看这个球是逆时针转到手里更近还是顺时针转到手里更近,即当前扔掉球的编 ...

  3. 安卓自动化robotium工具简单使用(二)

    在学习安卓的这段时间里,刚好有个朋友有一个APP的应用需要开发. 我马上就动手开始做着试试,在完成开发的同时写了相应的自动化测试代码,使用的是robotium. 才接触安卓没几天,写的不太好,如果有好 ...

  4. BZOJ - 2728 与非

    题意: 给定N个数,一个数k和一个范围[L,R].每个数可以使用任意次,k表示与非不超过k位.求出范围内有多少个数可以由他们的与非和表示. 题解: m个数进行NAND,最终的数二进制下某一位如果为1, ...

  5. UltraEdit 删除空行

    UltraEdit 删除空行 数据里有大量的空行,想在UltraEdit里删除,在网上搜了很多方法都不管用,功夫不负有心人,最后终于找到了可用的方法: 搜索—>替换,在“查找什么”里输入:\n( ...

  6. 熊猫(i)

    题目描述 熊猫喜欢吃数,熊猫对与每个数都有他独特的评价.具体来说,熊猫对数 xx 的评价是个四元组 (a, b, c, d)(a,b,c,d),计算方式如下: 首先将 xx 写成二进制形式(不含前导零 ...

  7. linux设置永久别名

    http://blog.csdn.net/miltonzhong/article/details/48089415

  8. spring in action 学习笔记十三:SpEL语言(Spring Expression Language)

    SpEl语言的目的之一是防止注入外部属性的代码硬代码化.如@Value("#{student.name}")这个注解的意思是把Student类的name的属性值注入进去.其中stu ...

  9. saltstack 实现haproxy+keepalived

    1.目录结构规划如下 mkdir -p /srv/salt/prod/haproxy mkdir -p /srv/salt/prod/keepalived mkdir -p /srv/salt/pro ...

  10. 转:LinkedHashMap使用(可以用来实现LRU缓存)

    1. LinkedHashMap概述: LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap. LinkedH ...