我需要确定我的ruby脚本运行的环境,以便我可以在执行后删除文件并清理目录。
我尝试使用ENV['os']
,但我使用的是cygwin,它给了我Windows_NT,有没有人知道找到当前环境的方法?
由于
答案 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变量哈希替换了它。