Amazon Ads

2012年10月24日 星期三

【筆記】在Ubuntu中,Java執行Shell Script,並runtime傳入參數

程式碼如下:


其中:

使用ProcessBuilder建構子(1.5後才有的,請參考:http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html)設定要執行的script和要傳入的參數:
ProcessBuilder pb = new ProcessBuilder("./myscript.sh", "sampleParam1"); 
//這在shell script中,可以用$1去接此參數sampleParam1
可以使用ProcessBuilder中的environment方法,來設定或取得執行中的環境變數,使用ProcessBuilder中的directory方法來設定工作目錄,就是要執行script的目錄。

範例script如下:



執行java程式後,可以看到在執行工作目錄產生了a.txt,如下:



檢視a.txt內容,可以看到java中設定的參數傳入到sciprt中,並輸出到a.txt中:

沒有留言: