在Ruby脚本中,我想获得操作系统信息,不仅是Linux,还有32位或64位。
那是因为我的程序将在多个Linux平台上运行。它调用第三方工具,该工具有子文件夹:lin32
,lin64
,我需要根据操作系统信息调用正确的版本。
答案 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 -m
:How 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"