2013-07-06 15 views
5

आर में वर्तमान उपयोगकर्ता का उपयोगकर्ता नाम प्राप्त करने का एक क्रॉस-प्लेटफार्म तरीका क्या है? मैं वर्तमान में उपयोग कर रहा हूँवर्तमान उपयोगकर्ता का नाम प्राप्त करें

system('whoami', intern=TRUE) 

हालांकि इस मान लिया गया उपयोगकर्ता खोल एक्सेस है, और कहा कि whoami कार्यक्रम उपलब्ध है। आर में यह जानकारी प्राप्त करने के लिए कोई और मूल है? और अधिक मजबूत

Sys.getenv("USERNAME") ## works under windows 

या बेहतर:

+1

बिना आर लोग आम तौर पर विंडोज़ में इसे कैसे करते हैं? मेरे पास विंडोज मशीन नहीं है – dickoa

उत्तर

7

मैं यह कर होगा

Sys.info()[["user"]] 

लेकिन यूनिक्स की तरह सिस्टम के तहत परिणाम कभी कभी system('whoami', intern=TRUE) की अलग है:

Whoami आउटपुट उपयोगकर्ता नाम जो उपयोगकर्ता काम कर रहा है, जबकि $ उपयोगकर्ता उपयोगकर्ता नाम आउटपुट करता है जिसका उपयोग लॉगिन करने के लिए किया गया था।

उदाहरण के लिए, यदि उपयोगकर्ता जॉन और जड़ में सु, Whoami जड़ प्रदर्शित करता है और गूंज रूप में लॉग इन $ उपयोगकर्ता जॉन प्रदर्शित करता है। ऐसा इसलिए है क्योंकि su कमांड डिफ़ॉल्ट रूप से लॉगिन खोल का आह्वान नहीं करता है।

+0

यह दृष्टिकोण माना जाता है कि "USERNAME" चर पहले से सेट है। मैं आर्क लिनक्स का उपयोग कर रहा हूं और यह मेरी सेटिंग में डिफ़ॉल्ट रूप से सेट नहीं है लेकिन "USER" सेट है। मुझे लगता है कि अंतिम दृष्टिकोण अधिक मजबूत है या 'Sys.getenv ("USER") ' – dickoa

+0

@ डिकोआ धन्यवाद। मैं अपना उत्तर – agstudy

+1

आईआईआरसी संपादित करता हूं, आप व्हाइमी के समान आउटपुट प्राप्त करने के लिए Sys.info() [["effect_user"]] का उपयोग कर सकते हैं। – Hansi

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