黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

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

更新時間:2022-08-01 11:36:12 來源:動力節(jié)點 瀏覽6935次

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

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

導入 java.io.BufferedReader;
導入 java.io.IOException;
導入 java.io.InputStreamReader;
公共類 RunningSS {
 公共靜態(tài)無效主要(字符串[]參數(shù)){
  進程 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 自動生成的 catch 塊
   e.printStackTrace();
  } 捕捉(InterruptedException e){
   // TODO 自動生成的 catch 塊
   e.printStackTrace();
  }
 }
}

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

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

public static Runtime getRuntime() - 返回與當前 Java 應用程序關(guān)聯(lián)的運行時對象。

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

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

cmd - 啟動一個新的命令外殼

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

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

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

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

導入 java.io.BufferedReader;爪哇_ 伊奧。緩沖讀取器;
導入 java.io.IOException;導入java 。伊奧。異常;
導入 java.io.InputStreamReader;導入java 。伊奧。輸入流讀取器;
導入 java.util.ArrayList;導入java 。實用程序。數(shù)組列表;
導入 java.util.List;導入java 。實用程序。列表;
公共類 RunningSS {公共類RunningSS {   
  公共靜態(tài)無效主要(字符串[]參數(shù)){公共靜態(tài)無效主要(字符串[]參數(shù)){   
    進程 p;進程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 自動生成的 catch 塊// TODO 自動生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    } 捕捉(InterruptedException e){}捕捉(InterruptedException e ){   
      // TODO 自動生成的 catch 塊// TODO 自動生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    }}
  }}
}}

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

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产综合第一页在线视频 | 一个人看的免费高清视频www | 最新理伦片eeuss影院 | 欧美色成人 | 亚洲成人福利在线 | 国产午夜影院 | 国产成人一区在线播放 | 国产va精品网站精品网站精品 | 欧美爽爽网 | 一个人看的www视频在线 | 乱人伦中文字幕视频 | 91视频看| 日韩在线视精品在亚洲 | 羞羞视频免费网站在线看 | 永久免费毛片手机版在线看 | 成人黄色毛片 | h黄漫画免费网站 | 免费看美女午夜大片 | 精品国产免费观看一区 | 成人免费体验区福利云点播 | 2020亚洲欧美日韩在线观看 | 中文字幕精品一区二区日本 | a久久久久一级毛片护士免费 | 国产一区国产二区国产三区 | 久热996re这里有精品 | 2018天天操天天干 | 九九精品在线播放 | 污视频网站在线观看免费 | 成人小视频在线免费观看 | 一级黄色大毛片 | 日韩操操操 | 黄色录像日本 | 久久国产精品免费视频 | 99久在线精品99re6视频 | 天堂网在线www资源网 | 亚洲an天堂an在线观看 | 免费看国产精品久久久久 | 国产精品视频一 | 日韩精品第二页 | 欧美成人一区二区三区不卡视频 | 99久在线精品99re6视频 |