2011-06-29 4 views
7

ルビスクリプトがどの環境で実行されているかを判断して、ファイルを削除して実行後に​​ディレクトリをクリーンアップする必要があります。Ruby実行環境を決定する方法

私はENV['os']を使ってみましたが、cygwinを使用していて、Windows_NTをくれました。誰も現在の環境を見つける方法を知っていますか?私はcygwinのでそれを試していないが、私はENV変数ハッシュの私自身の使用を交換しました​​

:私はここで見つけることができます宝石「OS」を使用しました

おかげ

答えて

1

それと。

+0

この質問は、あなたの問題にも対処しています。 http://stackoverflow.com/questions/170956/ruby-how-can-i-find-out-on-which-system-my-program-is-running – Ryanmt

+0

ありがとうございました。gem 'os'によく見ます –

+0

os宝石は美しく動作します。 'OS :: windows?' 'OS :: linux?'のようなことができます。 – rpattabi

7

現在の環境をすることによって提供されるグローバル定数RUBY_PLATFORM

ルビはcygwinのbashのシェル(/ usr/bin /ルビー)で呼び出さ

puts RUBY_PLATFORM 
i386-cygwin 

ルビがC(コマンドプロンプトで呼び出されます。 \ Ruby193 \ビン\のruby.exe):上記の環境リターンの両方のための

puts RUBY_PLATFORM 
i386-mingw32 

puts ENV['OS']Windows_NT

3

現在のOSがRUBY_PLATFORM

puts RUBY_PLATFORM 
X86_64-linux 

から得ることができる私は、Linuxマシン上でENV [ 'OS']を使用する場合しかし、Rubyはnilを返します。