我想通過使用ProcessBuilder類的Java應用程序按順序執行2個或多個命令。我嘗試了其他回覆/論壇中的建議,但沒有運氣。Java ProcessBuilder在Linux中按順序開始執行多個命令
以下是我已經試過的東西:
ProcessBuilder processBuilder = new ProcessBuilder("ls", ";", "pwd");
給了我以下錯誤:
錯誤:LS:;:沒有這樣的文件或目錄 錯誤:LS:密碼:沒有這樣的文件或目錄
ProcessBuilder processBuilder = new ProcessBuilder("ls", "&&", "pwd");
給了我類似的錯誤:
爾RORS:LS:& &:沒有這樣的文件或目錄 錯誤:LS:密碼:沒有這樣的文件或目錄
List<String> command = new ArrayList<String>();
command.add("ls");
command.add(";");
command.add("pwd");
ProcessBuilder processBuilder = new ProcessBuilder(command);
給了我以下錯誤:
錯誤:LS:;:沒有這樣的文件或目錄 錯誤:ls:pwd:沒有這樣的文件或目錄
我的操作系統是Linux/Mac-OSX。
非常感謝,它按預期工作 –
@NarinderKumar:不客氣! – ruakh
@ruakh你能告訴我如何使用基於Windows的PsExec.exe來做這個包裝嗎?例如,導航到「C」驅動器並創建一個名爲「abc」ex:new ProcessBuilder(「psexec」,「-c」,「cd c:\; mkdir abc」);的目錄。非常感謝。 – Channa