2011-11-20 92 views
0

我呼吁OSX运行时执行添加“/斌/庆典”,“-c”的命令之前,如:如何使runtime.exec()在Java中的多操作系统上工作?

Runtime runtime = Runtime.getRuntime(); 
Process process = runtime.exec(new String[] { "/bin/bash", "-c", cmd }); 

我知道这是Windows和Linux不同。我如何确保我的运行时命令在多操作系统上运行?

谢谢。

+0

您必须检查操作系统并有条件地执行这些命令。你究竟想要做什么?也许有可能以更抽象的方式来完成,而不会依赖操作系统。 (可能不是,如果你想运行复杂的脚本或其他东西。) – Corbin

回答

2

使用类似:

String osName = System.getProperty("os.name"); 
    if(osName.startsWith("Windows")) { 
     // windows code 
    } else { 
     if(osName.startsWith("Linux") { 
      // linux code 
     } else { 
      // mac code 
     } 
    } 

免责声明:这只是orientative。还有很多角落案例(例如FreeBSD)需要测试以获得正确的行为。

+0

它的工作原理。谢谢。 – Julien

相关问题