2011-11-20 1 views
0

나는 OSX에 런타임 실행과 같은 명령 전에 "/ 빈/bash는", "-c"을 추가 전화. 내 런타임 명령이 다중 OS에서 작동하는지 어떻게 확인할 수 있습니까?Java에서 다중 OS에서 runtime.exec()을 작동시키는 방법은 무엇입니까? 나는 그것이 윈도우와 리눅스에 대해 서로 다른 것을 알고</p> <pre><code>Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec(new String[] { "/bin/bash", "-c", cmd }); </code></pre> <p>:

감사합니다. 같은

+0

운영 체제를 확인하고 조건에 따라 명령을 수행해야합니다. 너 정확히 뭘 하려구? 어쩌면 OS에 의존하지 않는보다 추상적 인 방식으로이 작업을 수행 할 수 있습니다. (복잡한 스크립트 등을 실행하고 싶지는 않을 것입니다.) – 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