Ruby如何确定执行环境

Ruby如何确定执行环境,ruby,operating-system,environment-variables,Ruby,Operating System,Environment Variables,我需要确定ruby脚本运行在什么环境中,以便在执行后删除文件并清理目录 我试过使用ENV['os'],但我使用的是cygwin,它给了我Windows\u NT,有人知道找到当前环境的方法吗 谢谢我使用了gem'OS',可以在这里找到: 我没有用cygwin尝试过它,但我确实用它代替了我自己对ENV变量hash的使用。当前环境是由全局常量RUBY\u平台提供的 在cygwin bash shell(/usr/bin/ruby)上调用ruby: 在命令提示符下调用ruby(c:\Ruby193\b

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

我试过使用
ENV['os']
,但我使用的是cygwin,它给了我Windows\u NT,有人知道找到当前环境的方法吗


谢谢

我使用了gem'OS',可以在这里找到:


我没有用cygwin尝试过它,但我确实用它代替了我自己对ENV变量hash的使用。

当前环境是由全局常量
RUBY\u平台提供的

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

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


put ENV['OS']
用于上述两种环境返回:
Windows\u NT

可以从RUBY\u平台获取当前操作系统

puts RUBY_PLATFORM
X86_64-linux

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

这个问题也解决了您的问题。操作系统宝石工作得很漂亮。我们可以做一些事情,比如
OS::windows?
OS::linux?
复制可能的
puts RUBY_PLATFORM
i386-mingw32
puts RUBY_PLATFORM
X86_64-linux