如何从R检查OS X版本?

时间:2015-09-07 07:52:03

标签: r macos

您可以使用Sys.info()["sysname"] == "Darwin"检查是否正在运行OS X.

在Windows上,通过使用utils::win.version()检查操作系统的特定版本,可以实现更精细的控制。

如何检查OS X的版本?(我找不到mac.versionosx.version函数。有一些low-level OS commands找到版本,但我不知道任何R包装。)

Sys.info()["release"]system("uname --kernel-release", intern = TRUE)返回有用的内容吗? (我没有机器可以检查。)

4 个答案:

答案 0 :(得分:2)

根据您的实际需要,我会使用:

system("uname -r")
14.5.0

system("uname -s")
Darwin

system("uname -v")
Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64

答案 1 :(得分:2)

Sys.info()["sysname"]在Mac OS X上返回“Darwin”。

Sys.info()["release"]告诉您什么版本的Mac OS X.例如,“13.4.0”是Mac OS X 10.9.5。

可能无需进行system()来电:Sys.info()["version"]似乎与system("uname -v")完全相同。这个版本真的结合了不同的信息,并不方便检查你是否在Mac上运行。例如

> Sys.info()["version"]
version
"Darwin Kernel Version 13.4.0: Wed Mar 16 09:03:04 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64"

答案 2 :(得分:1)

使用Sys.info()获取有关当前平台的大部分信息:

示例

osname_version<-c(paste(" System: ",Sys.info()[['sysname']],
                      "\nVersion: ",Sys.info()[['version']],
                      "\nRelease: ",Sys.info()[['release']],
                      "\nMachine: ",Sys.info()[['machine']]))
cat(osname_version,"\n")

<强>结果

 System:  Linux 
Version:  #1 SMP Fri Sep 2 15:45:09 CEST 2011 
Release:  2.6.32.46 
Machine:  i686 

更多信息:https://stat.ethz.ch/R-manual/R-devel/library/base/html/Sys.info.html

答案 3 :(得分:0)

由于Sys.info()提供了内核版本而非产品版本,因此我选择使用sw_vers

as.numeric_version(system("sw_vers -productVersion", intern = TRUE))