Ruby如何确定执行环境

时间:2011-06-29 15:17:40

标签: ruby operating-system environment-variables

我需要确定我的ruby脚本运行的环境,以便我可以在执行后删除文件并清理目录。

我尝试使用ENV['os'],但我使用的是cygwin,它给了我Windows_NT,有没有人知道找到当前环境的方法?

由于

3 个答案:

答案 0 :(得分:8)

当前环境由全局常量RUBY_PLATFORM

提供

ruby​​在cygwin bash shell(/ usr / bin / ruby​​)中调用:

puts RUBY_PLATFORM
i386-cygwin

在命令提示符下调用ruby(c:\ Ruby193 \ bin \ ruby​​.exe):

puts RUBY_PLATFORM
i386-mingw32

puts ENV['OS']对于上述两种环境都返回:Windows_NT

答案 1 :(得分:3)

当前的操作系统可以从RUBY_PLATFORM

获得
puts RUBY_PLATFORM
X86_64-linux

但是,当我在Linux机器上使用ENV ['os']时,Ruby返回nil。

答案 2 :(得分:1)

我使用了宝石'OS',可以在这里找到:http://rubygems.org/gems/os

我没有尝试使用cygwin,但是我确实用自己的ENV变量哈希替换了它。