Ruby如何确定执行环境

Hun*_*len 7 ruby operating-system environment-variables

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

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

谢谢

小智 8

当前环境由全局常量提供 RUBY_PLATFORM

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

puts RUBY_PLATFORM
i386-cygwin
Run Code Online (Sandbox Code Playgroud)

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

puts RUBY_PLATFORM
i386-mingw32
Run Code Online (Sandbox Code Playgroud)

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


Rya*_*nmt 1

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

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