मेरे पास एक स्क्रिप्ट है जिसे यह जानने की आवश्यकता है कि यह किस उपयोगकर्ता नाम से चलाया जाता है।मैं अपने पर्ल स्क्रिप्ट को निष्पादित करने वाले उपयोगकर्ता का नाम कैसे प्राप्त कर सकता हूं?
जब मैं इसे खोल से चलाता हूं, तो मैं आसानी से $ ENV {"USER"} का उपयोग कर सकता हूं, जो बाश द्वारा प्रदान किया जाता है।
लेकिन स्पष्ट रूप से - फिर उसी स्क्रिप्ट को क्रॉन से चलाया जाता है, बैश के माध्यम से भी - $ ENV {"USER"} परिभाषित नहीं किया जाता है।
बेशक, मैं कर सकते हैं:
my $username = getpwuid($<);
लेकिन यह अच्छा नहीं लगता है - क्या कोई बेहतर/अच्छे तरीका है? यह सिस्टम-स्वतंत्र होने की आवश्यकता नहीं है, क्योंकि स्क्रिप्ट मेरे व्यक्तिगत उपयोग के लिए है, और केवल लिनक्स पर ही चलती है।
हे। मेरे वास्तविक कोड में, मैं (निश्चित रूप से) अंग्रेजी का उपयोग करता हूं, और मैं वास्तव में $ REAL_USER_ID का उपयोग करता हूं, लेकिन मैं यहां किसी भी "अंग्रेजी बनाम लघु-नाम" बहस को चमकाना नहीं चाहता था :) –
मेरे कोड में मैं ' $ <', इसलिए यह बहस नहीं है जिस पर मुझे परवाह है, लेकिन मैंने सोचा कि आप इसे सुंदर मान सकते हैं। –