如何在Java中执行UNIX本机命令?

时间:2011-12-04 03:14:44

标签: java unix

  

可能重复:
  How to run Unix shell script from java code?

我知道您可以使用Runtime.exec()或ProcessBuilder以这种方式在Windows上执行本机命令:

cmd /c command_goes_here

但在UNIX上有什么讽刺呢?

或者所有命令都可以通过Java直接运行吗?它有像Windows那样的内部终端命令吗?

3 个答案:

答案 0 :(得分:0)

它被称为Runtime.exec()。这就是Java的一点 - 写一次在任何地方运行。

(是的,是的,相同的脚本不会在任何地方运行;这就是Runtime的用途,可以让您访问底层系统。)

然而,

Java 具有控制屏幕的内部机制。为此你需要采用通常的AWT / SWT / Swing等例程。

答案 1 :(得分:0)

我的理解是Java exec基于Posix exec*调用。所以大概你需要格式化本机命令或多或少与你在Posix中做的一样(虽然我不知道你是否需要在Posix中指定命令名两次 - 我从来没有在* nix下试过Java exec

需要注意的重要一点是,在* nix中,ls等单个命令是独立的,而在dir等Windows命令中,只是CMD的参数。

答案 2 :(得分:0)

正如其他人所指出的那样,运行Runtime.exec()会对您有所帮助。但要小心!从Java成功运行命令时需要考虑几个因素。请务必首先阅读this文章,它解释了您需要了解的所有内容。