大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java執(zhí)行shell腳本的方法

Java執(zhí)行shell腳本的方法

更新時(shí)間:2022-08-01 11:36:12 來源:動(dòng)力節(jié)點(diǎn) 瀏覽6993次

動(dòng)力節(jié)點(diǎn)小編來告訴大家Java執(zhí)行shell腳本的方法。如果你有一個(gè) shell 腳本,比如 test.sh,那么你可以使用 RunTime 類或 ProcessBuilder 從 Java 程序運(yùn)行它(注意 ProcessBuilder 是在 Java 5 中添加的)。

使用 Runtime.getRunTime().exec 執(zhí)行 shell 腳本

導(dǎo)入 java.io.BufferedReader;
導(dǎo)入 java.io.IOException;
導(dǎo)入 java.io.InputStreamReader;
公共類 RunningSS {
 公共靜態(tài)無效主要(字符串[]參數(shù)){
  進(jìn)程 p;
  嘗試 {
   String[] cmd = { "sh", "/home/adb/Documents/test.sh"};
   p = Runtime.getRuntime().exec(cmd);
   p.waitFor();
   BufferedReader reader=new BufferedReader(new InputStreamReader(
    p.getInputStream()));
   字符串線;
   while((line = reader.readLine()) != null) {
    System.out.println(line);
   }
  } 捕捉(IOException e){
   // TODO 自動(dòng)生成的 catch 塊
   e.printStackTrace();
  } 捕捉(InterruptedException e){
   // TODO 自動(dòng)生成的 catch 塊
   e.printStackTrace();
  }
 }
}

使用給定的 shell 腳本執(zhí)行此 Java 程序后,如果您在 Java 程序所在的位置進(jìn)行驗(yàn)證,您將看到在該目錄中創(chuàng)建了一個(gè)目錄 test 和一個(gè)文件 SAMPLE。

Runtime.getRuntime().exec方法用于運(yùn)行命令。

public static Runtime getRuntime() - 返回與當(dāng)前 Java 應(yīng)用程序關(guān)聯(lián)的運(yùn)行時(shí)對(duì)象。

public Process exec(String command) throws IOException - 在單獨(dú)的進(jìn)程中執(zhí)行指定的字符串命令。

與命令一起使用的cmd /c具有以下解釋 -

cmd - 啟動(dòng)一個(gè)新的命令外殼

/c - 執(zhí)行給定的命令并終止

該命令的執(zhí)行返回類 Process 的實(shí)例。使用 Process 類的getInputStream()方法,可以通過讀取流來打印執(zhí)行命令的輸出。

使用 ProcessBuilder 在 Java 中執(zhí)行 shell 腳本

如果您必須使用 ProcessBuilder 運(yùn)行與上述相同的命令,這是一種更清晰的方法,您可以創(chuàng)建一個(gè)包含命令和所需參數(shù)的列表,然后將其作為命令傳遞給 ProcessBuilder 實(shí)例。

導(dǎo)入 java.io.BufferedReader;爪哇_ 伊奧。緩沖讀取器;
導(dǎo)入 java.io.IOException;導(dǎo)入java 。伊奧。異常;
導(dǎo)入 java.io.InputStreamReader;導(dǎo)入java 。伊奧。輸入流讀取器;
導(dǎo)入 java.util.ArrayList;導(dǎo)入java 。實(shí)用程序。數(shù)組列表;
導(dǎo)入 java.util.List;導(dǎo)入java 。實(shí)用程序。列表;
公共類 RunningSS {公共類RunningSS {   
  公共靜態(tài)無效主要(字符串[]參數(shù)){公共靜態(tài)無效主要(字符串[]參數(shù)){   
    進(jìn)程 p;進(jìn)程p ;
    嘗試 {        試試{         
      List<String> cmdList = new ArrayList<String>();列表<字符串> cmdList = new ArrayList <字符串>();  
      // 將命令和參數(shù)添加到列表中// 將命令和參數(shù)添加到列表中
      cmdList.add("sh");. 添加(“sh” );
      cmdList.add("/home/adb/Documents/test.sh");. 添加(“/home/adb/Documents/test.sh” );
      ProcessBuilder pb = new ProcessBuilder(cmdList);ProcessBuilder pb = new ProcessBuilder ( cmdList );  
      p = pb.start();=鉛。開始();
                
      p.waitFor();. 等待(); 
      BufferedReader reader=new BufferedReader(new InputStreamReader(BufferedReader reader = new BufferedReader ( new InputStreamReader (  
       p.getInputStream()));. 獲取輸入流())); 
      字符串線;字符串線; 
      while((line = reader.readLine()) != null) {while (( line = reader . readLine ()) != null ) {    
        System.out.println(line);系統(tǒng)。出來。println (行);
      }} 
    } 捕捉(IOException e){}捕捉(IOException e ){   
      // TODO 自動(dòng)生成的 catch 塊// TODO 自動(dòng)生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    } 捕捉(InterruptedException e){}捕捉(InterruptedException e ){   
      // TODO 自動(dòng)生成的 catch 塊// TODO 自動(dòng)生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    }}
  }}
}}

以上就是關(guān)于“Java執(zhí)行shell腳本的方法”,如果大家對(duì)此比較感興趣,可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 91在线 | 亚洲| 羞羞色男人的天堂伊人久久 | 一区二区三区www | 激情综合网五月激情 | 91在线视频 | 亚洲狠狠成人综合网 | 国产高清在线a视频大全凹凸 | 日韩狠狠操 | 国产不卡在线观看 | 国产99视频精品草莓免视看 | 亚洲一区日韩 | 国产成人综合精品 | 国产亚洲男人的天堂在线观看 | 免费的爱爱视频 | 在线观看亚洲免费视频 | 操你妹影院 | 国产精品无 | 日本在线色视频 | 女人寂寞偷人视频a级 | 国产精品午夜久久久久久99热 | 国产福利精品在线观看 | 天天干天天添 | 色激情综合网 | 欧美综合国产精品日韩一 | 中文字幕一区二区三区有限公司 | 天天精品| 国产精品视频一区二区三区不卡 | 日本二三区 | 嘿咻嘿咻免费区在线观看吃奶 | 欧美一级毛片视频 | 色综合久久综合欧美综合 | 久青草中文字幕精品视频 | 97精品视频在线观看 | 久热99这里只有精品视频6 | 久久97久久97精品免视看清纯 | 欧美色成人tv在线播放 | 特一级黄 | 美女很黄很黄免费的 | 亚洲一区二区日韩欧美gif | 中国特黄特级真人毛片 | 精品视频在线免费播放 |