2011-11-20 79 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

相關問題