我需要從我的Java代碼運行一個.sh文件,而不需要傳遞任何參數。我已經嘗試過用如何從Java運行.sh文件?
Runtime.getRuntime().exec("src/lexparser.sh");
和
ProcessBuilder pb = new ProcessBuilder("src/lexparser.sh");
Process p = pb.start();
上述兩種方法沒有工作做。是否有任何其他方法來運行.sh文件形式的Java?
我需要從我的Java代碼運行一個.sh文件,而不需要傳遞任何參數。我已經嘗試過用如何從Java運行.sh文件?
Runtime.getRuntime().exec("src/lexparser.sh");
和
ProcessBuilder pb = new ProcessBuilder("src/lexparser.sh");
Process p = pb.start();
上述兩種方法沒有工作做。是否有任何其他方法來運行.sh文件形式的Java?
ProcessBuilder pb = new ProcessBuilder("src/lexparser.sh", "myArg1", "myArg2");
Process p = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
有兩件事情,很容易錯過:
路徑和CWD。確保找到可執行文件的最簡單方法是提供絕對路徑,例如/usr/local/bin/lexparser.sh
過程輸出。您需要閱讀過程輸出。輸出緩衝,如果輸出緩衝區滿了,產生的進程將掛起。
你是什麼意思_didn't work_? – Apurv 2013-03-15 09:10:16
確保你的.sh是可執行的 – 2013-03-15 09:10:42
你得到了什麼錯誤? – AmitG 2013-03-15 09:10:46