您可以使用Sys.info()["sysname"] == "Darwin"
检查是否正在运行OS X.
在Windows上,通过使用utils::win.version()
检查操作系统的特定版本,可以实现更精细的控制。
如何检查OS X的版本?(我找不到mac.version
或osx.version
函数。有一些low-level OS commands找到版本,但我不知道任何R包装。)
Sys.info()["release"]
或system("uname --kernel-release", intern = TRUE)
返回有用的内容吗? (我没有机器可以检查。)
答案 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))