public static String runLinuxCmd(String command) throws IOException{
if(System.getProperty("os.name").toLowerCase().contains("windows")){
logger.info("当前操作系统为windows,返回空");
return "";
}
Runtime runtime=Runtime.getRuntime();
InputStreamReader inputStreamReader=null;
BufferedReader bufferedReader=null;
OutputStreamWriter outputStreamWriter=null;
BufferedWriter bufferedWriter=null;
PrintWriter printWriter=null;
Process process=null;
String result="";
try {
process=runtime.exec("/bin/bash",null,null);
inputStreamReader=new InputStreamReader(process.getInputStream());
bufferedReader=new BufferedReader(inputStreamReader);
outputStreamWriter=new OutputStreamWriter(process.getOutputStream());
bufferedWriter=new BufferedWriter(outputStreamWriter);
printWriter=new PrintWriter(bufferedWriter,true);
logger.info("执行命令: {}",command);
printWriter.println(command);
printWriter.println("exit");
String tempResult="";
while ((tempResult=bufferedReader.readLine())!=null){
result=tempResult;
}
logger.info("返回结果:"+result);
}catch (IOException e){
logger.error("",e);
}finally {
if(process!=null){
try {
process.waitFor();
}catch (InterruptedException e){
logger.error("",e);
}
}
if(printWriter!=null) printWriter.close();
if(bufferedWriter!=null) bufferedWriter.close();
if(printWriter!=null) printWriter.close();
if(bufferedReader!=null) bufferedReader.close();
if(inputStreamReader!=null) inputStreamReader.close();
if(process!=null){
process.destroy();
}
return result;
}
}