2013-06-19 71 views
0

我無法從我的java代碼調用shell腳本。 這是我的代碼。任何人都可以讓我知道我在這裏錯過了什麼。用sh腳本名稱前如何在eclipse中的java代碼中調用shell腳本?

protected boolean shellExecute() throws InterruptedException { 
    try { 
     Process p = Runtime.getRuntime().exec("/home/baibhav/try_scripts/javacall.sh"); 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return false; 
    } 
    return true; 
} 
+0

歡迎來到StackOverflow。請告訴我們什麼不工作。有沒有「例外」? –

+0

粘貼堆棧跟蹤。 –

回答

0

嘗試

Process p = Runtime.getRuntime().exec("sh /home/baibhav/try_scripts/javacall.sh"); 
0

如果你正在IO execption,請檢查你的腳本路徑

0

如果文字輸出,你需要得到返回的Process '輸出並從中讀取過程不會阻止。

Process p = Runtime.getRuntime().exec("/home/baibhav/try_scripts/javacall.sh"); 
InputStream scriptStdout = p.getInputStream(); 
// Read from input stream and proecess it. 

// In finally block: 
scriptStdout.close(); 

你沒有說你是否拋出異常或系統是否被吊死。如果掛了,這可能是原因。

此外,請考慮使用ProcessBuilder來代替。

相關問題