确定脚本是在 Windows 还是 Linux 中运行

问题描述 投票:0回答:4

是否有一种简单的方法可以以编程方式确定 R 脚本是否在 Windows 和 Linux 中执行?

r multiplatform
4个回答
58
投票
if(.Platform$OS.type == "unix") {
} else {

}

19
投票
Sys.info()["sysname"]

14
投票
.Platform$OS.type

退货

[1] "unix"

或者其他什么。


13
投票

我在三台 Linux 或 Windows 机器中的任意一台上运行相同的代码。我使用以下内容来设置工作目录:

if(R.Version()$os == "linux-gnu"){
  dir.pre <- "/home"
} else {
  dir.pre <- "C:/Users"
}

在我的 debian Linux 服务器和 Ubuntu 笔记本电脑上:

> .Platform$OS.type
[1] "unix"
> R.Version()$os
[1] "linux-gnu"

在我的 Windows 10 笔记本电脑上,在 RStudio 中:

> .Platform$OS.type
[1] "windows"
> R.Version()$os
[1] "mingw32"

请随意编辑并添加到此列表中。

© www.soinside.com 2019 - 2024. All rights reserved.