Ruby如何确定执行环境
我需要确定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
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