如何在Ruby中获取OS和OS ARCH信息?

时间:2015-09-17 11:42:37

标签: ruby

在Ruby脚本中,我想获得操作系统信息,不仅是Linux,还有32位或64位。

那是因为我的程序将在多个Linux平台上运行。它调用第三方工具,该工具有子文件夹:lin32lin64,我需要根据操作系统信息调用正确的版本。

4 个答案:

答案 0 :(得分:3)

在Ruby中,您可以使用RUBY_PLATFORM常量。此常量生成操作系统的基本名称和内核位级别。 例如。在irb:

1.9.3-p392 :001 > RUBY_PLATFORM
=> "x86_64-linux" - Linux based OS with 64-bit
=> "i686-linux" - Linux based OS with 32-bit

答案 1 :(得分:1)

另外,你可以尝试一下:

ver = `getconf LONG_BIT`

ver = `arch`

答案 2 :(得分:0)

由于您引用了linux,请按照此处所述使用uname -mHow to determine whether a given Linux is 32 bit or 64 bit?

忽略底部的“CPU”部分。因为你想运行一个程序,你需要内核架构:

irb:(main):001:0> `uname -m`
=> "x86_64"

x86_64 ==> 64-bit kernel
i686   ==> 32-bit kernel

答案 3 :(得分:0)

您可以使用RUBY_PLATFORM常量

irb(main):001:0> RUBY_PLATFORM
=> "i686-linux"