2010-01-19 2 views
26

Есть ли простой способ программно определить, выполняется ли сценарий R в Windows и Linux?R: определить, работает ли сценарий в Windows или Linux

+0

Да! Я знаю это – Dan

+0

Я немного опоздал с этой вечеринкой, но рассмотрю этот поиск в Google Code: http://www.google.com/codesearch?as_q=linux+windows&btnG=Search+Code&hl=ru&as_lang=r - то есть укажите ' as_lang = r 'для получения решений на основе R только при поиске строк' linux 'и' windows '. И это прямо там .... –

+0

фантастический! Я не знал о поиске кода GOOG. Я боролся и изо всех сил пытался найти это, но продолжал получать несвязанные результаты. –

ответ

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

} 
+0

Я не должен был потратить впустую это время с первым комментарием. Сбейте снова удар. – Dan

+1

Если бы это был полезный комментарий, я был бы сочувствующим ... Но этот был действительно растраченным временем! :) –

+0

Спасибо! Я не мог вспомнить об этом, чтобы спасти свою жизнь. –

6
.Platform$OS.type 

возвращает

[1] "unix" 

или что-то еще.

+0

См. Также R.version() для других типов OS-типа. – Spacedman

+0

hmm .. R.version() не работает ... возможно Sys.info()? –

+0

ahh .. капитализация. Это R.Version() –

2

я запускаю тот же код с любого из трех машин 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" 

Не стесняйтесь редактировать и добавлять в этот список.

Смежные вопросы