确定一个脚本是否在Windows或Linux中运行

时间:2021-02-07 16:25:29

Is there a simple way to programmatically determine if an R script is being executed in Windows vs. Linux?

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

4 个解决方案

#1


30  

if(.Platform$OS.type == "unix") {
} else {

}

#2


10  

Sys.info()["sysname"]

#3


6  

.Platform$OS.type

returns

返回

[1] "unix"

or something else.

或者其他东西。

#4


2  

I run the same code from any of three Linux or Windows machines. I use the following to set up working directories:

我在三个Linux或Windows机器上运行相同的代码。我使用以下方法设置工作目录:

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

On my debian linux server and my Ubuntu laptop:

在我的debian linux服务器和我的Ubuntu笔记本上:

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

On my Windows 10 laptop, in RStudio:

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

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

Feel free to edit and add to this list.

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

#1


30  

if(.Platform$OS.type == "unix") {
} else {

}

#2


10  

Sys.info()["sysname"]

#3


6  

.Platform$OS.type

returns

返回

[1] "unix"

or something else.

或者其他东西。

#4


2  

I run the same code from any of three Linux or Windows machines. I use the following to set up working directories:

我在三个Linux或Windows机器上运行相同的代码。我使用以下方法设置工作目录:

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

On my debian linux server and my Ubuntu laptop:

在我的debian linux服务器和我的Ubuntu笔记本上:

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

On my Windows 10 laptop, in RStudio:

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

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

Feel free to edit and add to this list.

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