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

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

Java執行shell腳本的方法

更新時間:2022-08-01 11:36:12 來源:動力節點 瀏覽6860次

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

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

導入 java.io.BufferedReader;
導入 java.io.IOException;
導入 java.io.InputStreamReader;
公共類 RunningSS {
 公共靜態無效主要(字符串[]參數){
  進程 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 腳本執行此 Java 程序后,如果您在 Java 程序所在的位置進行驗證,您將看到在該目錄中創建了一個目錄 test 和一個文件 SAMPLE。

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

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

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

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

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

/c - 執行給定的命令并終止

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

使用 ProcessBuilder 在 Java 中執行 shell 腳本

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

導入 java.io.BufferedReader;爪哇_ 伊奧。緩沖讀取器;
導入 java.io.IOException;導入java 。伊奧。異常;
導入 java.io.InputStreamReader;導入java 。伊奧。輸入流讀取器;
導入 java.util.ArrayList;導入java 。實用程序。數組列表;
導入 java.util.List;導入java 。實用程序。列表;
公共類 RunningSS {公共類RunningSS {   
  公共靜態無效主要(字符串[]參數){公共靜態無效主要(字符串[]參數){   
    進程 p;進程p ;
    嘗試 {        試試{         
      List<String> cmdList = new ArrayList<String>();列表<字符串> cmdList = new ArrayList <字符串>();  
      // 將命令和參數添加到列表中// 將命令和參數添加到列表中
      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);系統。出來。println (行);
      }} 
    } 捕捉(IOException e){}捕捉(IOException e ){   
      // TODO 自動生成的 catch 塊// TODO 自動生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    } 捕捉(InterruptedException e){}捕捉(InterruptedException e ){   
      // TODO 自動生成的 catch 塊// TODO 自動生成的 catch 塊
      e.printStackTrace();. 打印堆棧跟蹤();
    }}
  }}
}}

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一级中文字幕 | 美日韩中文字幕 | 国产日韩欧美在线观看不卡 | 国产在线免 | 国内精品久久久久影 | 奇米在线观看视频 | 国产成人精品一区二区免费视频 | 久久久久琪琪免费影院 | 国产另类视频 | 国产精品高清视亚洲乱码 | 日韩免费不卡 | 中文字幕亚洲综合精品一区 | 中文字幕日韩在线观看 | 日韩毛片免费看 | 一级特黄aaa大片在 一级特黄aaa大片在线观看 | 四虎最新网址在线观看 | 国产精品久久久久这里只有精品 | 青青青国产观看免费视频 | 亚洲精品区在线播放一区二区 | 国产伦理一区二区三区 | 欧美妇性猛交视频 | 国产亚洲福利精品一区 | 黄色男人的天堂 | 久久久久久久国产视频 | 亚洲国产成人资源在线桃色 | 亚洲狠狠婷婷综合久久久图片 | 中文字幕国产精品 | 九九99九九在线精品视频 | 国产精品免费视频一区 | 婷综合| 国产精品玖玖玖在线观看 | 欧美精品免费在线 | 亚洲国产日韩欧美综合久久 | 亚洲成人视屏 | 亚洲操穴 | 日韩在线一区视频 | 成人在线一区二区 | 亚洲欧美国产精品久久久 | 四虎影视精品永久免费网站 | 国产天天射 | 国产精品揄拍一区二区久久 |