2012-07-12 224 views
2

我正在尋找從java執行幾個comman shell的方式。我發現這在計算器,但它不僅有利於執行每個會話一個命令shell:從java執行多個命令shell

try { 
     // Execute command 
     String command = "ls -la"; 
     StringBuffer ret=new StringBuffer(); 
     Process p = Runtime.getRuntime().exec(command); 

     // Get the input stream and read from it 
     InputStream in = child.getInputStream(); 
     int c; 
     while ((c = in.read()) != -1) { 
     ret.append((char)c); 
     } 
     in.close(); 
     System.out.println(ret.toString()); 
    } catch (IOException e) { 
    e.printStackTrace(); 
    } 

反正是有使用上面的代碼相同的會話執行多個命令?

+0

你說的是哪屆? – adranale 2012-07-12 12:22:41

回答

0

您可以在for-loop內輕鬆編寫此代碼。

0

也許你可以將這些命令分組到shell腳本中,然後執行它。

0

您可以用一堆命令編寫可執行的shell腳本或bat文件,並將其作爲一個命令執行。

0

首先,這不是你如何使用Runtime.exec():第一個參數是可執行文件,其他參數是該可執行文件的參數。

現在,您的代碼正試圖執行一個名爲字面意思爲"ls -la"的文件,這當然不存在。

你的代碼改成這樣:

String[] command = {"ls", "-la"}; // Use an array 
Runtime.getRuntime().exec(command); 
+0

感謝您的迴應,是否有幾個命令shell調用它呢? – Mas 2012-07-12 12:34:14