2011-11-16 7 views
0

나는 어떤 시점에서 Jetty를 시작하는 Rakefile을 쓰고있다. Rakefile은 플랫폼에 독립적이어서 내 Windows와 Mac에서 사용할 수 있어야합니다. jetty를 시작하려면 두 개의 스크립트가 제공됩니다 : 사용자가있는 시스템에 따라 jetty.sh 및 jetty-cygwin.sh.플랫폼 의존 Rakefile

bash 스크립트에서 나는 내가 승리했는지, 아니면 Mac인지 알기 위해 사용할 수있는 OSTYPE이 있지만 루비의 ENV에서는 사용할 수 없다고 알고 있습니다. Rakefile에서 비슷한 작업을 수행 할 수있는 방법이 있습니까?

감사

답변

0

당신이 ENV['OS']을 시도해 봤어 사전에 많은? Windows의 경우 "Windows_NT"가 있습니다. Mac 용으로 테스트 할 수 없습니다.

또한 RUBY_PLATFORM (나는 "i386-mingw32"이됩니다.) 을 사용할 수 있습니다.


또 다른 아이디어, 상수가 작동하지 않는 경우 :

명령 ver이 창에 정의되어 있으며 Windows 버전을 반환합니다. Mac에서 전화를하면 어떻게됩니까? 그 결과로 /Mac/를 교체

case %x{ver} 
    when /Microsoft Windows/ 
    puts "I'm running Windows" 
    when /Mac/ 
    puts "I'm running on a Mac" 
    else 
    puts "Unknown?" 
end 

당신이 (이 오류 메시지가 경우에도 - 당신이 오류가 발생하면, 그것은 윈도우 아니에요;)) : 당신은 뭔가를 시도 할 수 있습니다.

+0

예. 세 가지 환경에서 명령의 출력을 비교하는 작업이 끝났습니다. –