2011-06-29 18 views
7

Potrzebuję określić, w jakim środowisku działa mój skrypt ruby, aby móc usuwać pliki i czyścić katalogi po wykonaniu.Ruby Jak określić środowisko wykonawcze

Próbowałem używać ENV['os'], ale używam cygwin i dał mi Windows_NT, Czy ktoś wie, jak znaleźć obecne środowisko?

Dzięki

Odpowiedz

1

Użyłem gem „OS”, który można znaleźć tutaj: http://rubygems.org/gems/os

nie próbowałem go z Cygwin, ale nie zastępować własną użycie zmiennej ENV hash z tym.

+0

To pytanie dotyczy również Twojego problemu. http://stackoverflow.com/questions/170956/ruby-how-can-i-find-out-on-which-system-my-program-is-running – Ryanmt

+0

dziękuję, źle spojrzeć w gem 'os' –

+0

os klejnot pięknie się sprawuje. Możemy robić rzeczy takie jak "OS: Windows?" 'OS :: linux?' – rpattabi

7

Obecne środowisko jest globalnym stałe RUBY_PLATFORM

rubin wywoływane w cygwin bash powłoki (/ usr/bin/rubinowy)

puts RUBY_PLATFORM 
i386-cygwin 

rubin wywoływanego w poleceń (C: \ Ruby193 \ bin \ ruby.exe):

puts RUBY_PLATFORM 
i386-mingw32 

puts ENV['OS'] dla obu powyższych zwrotów środowiska: Windows_NT

3

bieżący system operacyjny może być otrzymany z RUBY_PLATFORM

puts RUBY_PLATFORM 
X86_64-linux 

Jednak podczas korzystania ENV [ 'os'] w komputerze z systemem Linux Ruby zwraca zero.

Powiązane problemy