2010-01-19 11 views
26

में कोई स्क्रिप्ट चल रही है या नहीं, क्या प्रोग्राम बनाम यह निर्धारित करने का एक आसान तरीका है कि Windows बनाम लिनक्स में आर स्क्रिप्ट निष्पादित की जा रही है या नहीं?आर: यह निर्धारित करें कि विंडोज या लिनक्स

+0

हाँ! मुझे यह पता है कि – Dan

+0

मैं इस पार्टी के लिए थोड़ा देर हो चुकी हूं लेकिन इस Google Code Search पर विचार करें: http://www.google.com/codesearch?as_q=linux+windows&btnG=Search+Code&hl=hi&as_lang=r - यानी निर्दिष्ट करें ' as_lang = r 'स्ट्रिंग्स' लिनक्स 'और' विंडोज़ 'की तलाश करते समय केवल आर-आधारित समाधान प्राप्त करने के लिए। और यह वहीं है .... –

+0

शानदार! मुझे GOOG कोड खोज के बारे में पता नहीं था। मैंने संघर्ष किया और इसके लिए संघर्ष करने के लिए संघर्ष किया लेकिन असंबद्ध परिणाम प्राप्त करना जारी रखा। –

उत्तर

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

} 
+0

मुझे उस टिप्पणी को पहली टिप्पणी के साथ बर्बाद नहीं करना चाहिए था। पंच फिर से मारो। – Dan

+1

यदि यह एक उपयोगी टिप्पणी थी, तो मैं सहानुभूतिशील होगा ... लेकिन वह वास्तव में बर्बाद हो गया था! :) –

+0

धन्यवाद! मैं अपने जीवन को बचाने के लिए इसे याद नहीं कर सका। –

6
.Platform$OS.type 

रिटर्न

[1] "unix" 

या कुछ और।

+0

अन्य ओएस-टाइप चीजों के लिए R.version() भी देखें। – Spacedman

+0

हम्म .. R.version() काम नहीं करता है ... शायद Sys.info()? –

+0

आह .. पूंजीकरण। यह आर। संस्करण() –

2

मैं तीन लिनक्स या Windows मशीनों में से किसी से एक ही कोड चलाते हैं।

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

मेरी डेबियन लिनक्स सर्वर पर और मेरे 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" 

मैं काम कर निर्देशिका स्थापित करने के लिए निम्न का उपयोग इस सूची में संपादित करने और जोड़ने के लिए स्वतंत्र महसूस करें।

संबंधित मुद्दे