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. 孤荷凌寒自学python第十一天初识Python的字典类

    孤荷凌寒自学python第十一天初识Python的字典类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的字典其实是一张二维对照表 下面举例说明: 键名Key 姓名 性别 身高 ...

  2. Visual C++ 图像处理类库CxImage源代码

    说明:VC++ 图像处理类库CxImage源代码,CxImage是一个可以用于MFC 的C++类,可以打开,保存,显示,转换各种格式的图像文件,比如BMP, JPEG, GIF, PNG, TIFF, ...

  3. php数组循环的三种方式

    PHP 的遍历数组的三种方式:for循环.foreach循环.while.list().each()组合循环 PHP当中数组分为:索引数组[转换成json是数组]和关联数组[转换成json是对象] f ...

  4. NYOJ 42 一笔画

    一笔画问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下 ...

  5. Java 中xml解析

    1.String 字符串保持到txt文件 String xml ="abcdefghijk"; FileWriter fw = null; File f = new File(&q ...

  6. SheetJS & Error: Sheet names cannot exceed 31 chars

    SheetJS Error: Sheet names cannot exceed 31 chars title + version https://github.com/SheetJS/js-xlsx ...

  7. POJ 1375 Intervals | 解析几何

    参考了这个博客 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath&g ...

  8. POJ 2406 Power Strings 暴力

    emmmm 显然的是a串长度是s串长度的因数 我们可以暴力枚举因数然后暴力check #include<cstdio> #include<algorithm> #include ...

  9. 从零开始--Spring项目整合(1)使用maven框架搭建项目

    这些年一直在用spring的框架搭建项目,现在开始我们从零开始利用Spring框架来搭建项目,目前我能想到有Spring.SpringMVC.SpringJDBC.Mybatis.WebSockt.R ...

  10. tips 前端 点击事件

    新手总是时不时会纠结一下 点击事件 我们都知道这些小东西不难 但是偶尔难道不会想想我们可能对这些即使小kiss的问题的认知其实不够清晰 一个认识不清晰的东西使用时 总会有油然而生的不安感 从而用的不放 ...