2011-12-04 45 views
1

可能重複:
How to run Unix shell script from java code?如何在Java中執行UNIX本機命令?

我知道你可以使用的Runtime.exec()或的ProcessBuilder以這種方式在Windows上執行本機命令:

cmd /c command_goes_here 

但是在UNIX上這是什麼問題呢?

或者所有的命令都可以直接通過Java?它有像Windows一樣的內部終端命令嗎?

+0

你爲什麼不自己嘗試一下呢? – Beginner

+0

相同http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code? –

+0

也見http://stackoverflow.com/questions/562104/difference-between-running-internal-and-external-unix-commands-in-java? –

回答

0

它叫做Runtime.exec()。這就是Java的一點 - 一次運行即可編寫。

(是的,是的,相同的腳本不會到處運行;這就是Runtime是,給你訪問到底層系統)

Java那樣,然而,對內部機制控制屏幕。爲此,你需要採取通常的AWT/SWT/Swing等例程。

+0

但是...將使用Runtime.exec()運行UNIX命令適用於所有UNIX命令?或者是否有終端內部的命令? – bgroenks

0

我的理解是,Java exec是基於Posix exec*的調用。所以大概你需要按照你在Posix中做的那樣來設置本地命令的格式(雖然我不知道你是否需要像在Posix中那樣指定兩次命令名 - 我從來沒有嘗試過在* nix下的Java exec)。

需要注意的是,在* nix中,像ls這樣的單獨命令是獨立的,而在Windows中,像dir這樣的命令實際上只是CMD的參數。

0

正如別人指出,運行Runtime.exec()將幫助你。但要小心!要成功運行來自Java的命令,需要考慮幾個注意事項。首先閱讀this文章,它解釋了你需要知道的一切。