पर्यावरण चर केवल उपयोगकर्ता वरीयताओं के लिए नहीं हैं। वे माता-पिता की प्रक्रिया से लेकर शुरू होने वाली बाल प्रक्रियाओं तक की विभिन्न प्रकार की सूचनाओं को संप्रेषित करने के लिए एक सामान्य तंत्र हैं।
ऐसे कई मामले हैं जहां एक प्रक्रिया विशिष्ट पर्यावरण चर निर्धारित करेगी ताकि यह शुरू होने वाली प्रक्रियाओं को प्रभावित कर सके। उदाहरण के लिए, एक स्क्रिप्ट जानबूझकर स्थानीय सेटिंग्स को शुरू होने वाली कमांड के लिए रीसेट कर सकती है, जैसे कि यह उनसे आउटपुट पार्स कर सकता है। कई बड़े सॉफ्टवेयर पैकेजों की बिल्ड स्क्रिप्ट make
पर्यावरण चर के माध्यम से एक दूसरे के साथ समन्वय के नेस्टेड इनवोकेशन का उपयोग करती है। विशेष उपकरणों को $ LD_PRELOAD या $ PATH के साथ ट्रिक्स करके शुरू होने वाले अन्य कार्यक्रमों की कार्य स्थितियों को बदलने की आवश्यकता हो सकती है।
यदि कोई उपयोगकर्ता एक अलग विंडो में करता है, जबकि एक लंबी संकलन दूसरे में चल रही है, तो बस उसकी पीठ, पागलपन और अराजकता के पीछे उसकी सभी प्रक्रियाओं के पर्यावरण चर को जादुई रूप से बदल देगा।
अन्य पर्यावरण चर में किसी विशेष सत्र के बारे में जानकारी होती है, जिसमें एक प्रक्रिया शुरू की जाती है। प्रोग्राम्स को विशेष टर्मिनल (या टर्मिनल एमुलेटर) के कमांड सेट का वर्णन करने के लिए $ TERM की अपेक्षा होती है, जिनसे वे जुड़े होते हैं; प्रति उपयोगकर्ता सेटिंग सामान्य बनाने से कई अलग-अलग प्रकार के टर्मिनलों के साथ एक ही सिस्टम में लॉग इन करना असंभव हो जाएगा। यहां तक कि अगर आपके पास केवल टर्मिनल हार्डवेयर का एक टुकड़ा है और कभी भी दूरस्थ रूप से लॉग इन नहीं screen
करते हैं , तो प्रोग्राम जैसे कि उनके सत्र के अंदर चलने वाली प्रक्रियाओं के लिए एक अलग $ TERM सेट करने पर निर्भर करते हैं।
एक बेहतर सवाल यह होगा कि हम प्रति उपयोगकर्ता डेटाबेस के बजाय उपयोगकर्ता वरीयता सेटिंग्स के लिए प्रक्रिया-से-सबप्रोसेस संचार तंत्र का उपयोग क्यों करते हैं?
उत्तर: क्योंकि यह काफी अच्छी तरह से काम करता है और प्रति-उपयोगकर्ता डेटाबेस बनाने के लाभों बड़ा पर्याप्त बदलने का काम है कि नहीं कर रहे हैं सब कुछ का उपयोग करने के कि बजाय वातावरण चर की जाएगी।
(मैं बहुत कुछ वरीयता सेटिंग के बारे में सोच सकते हैं, जहां वहाँ नहीं होता खो कार्यक्षमता के लिए नहीं क्रम में उदाहरण के लिए, कुछ का उपयोग मामलों में जहां यह उन्हें बस एक ही स्क्रिप्ट पर कार्य के लिए बदलने के लिए सुविधाजनक है हो सकता है। तो, सब कुछ अभी भी अवश्य होना चाहिए कि overridable द्वारा पर्यावरण चर, जिसके परिणामस्वरूप जटिलता और अधिक भ्रमित उपयोगकर्ता हैं)।
ऐसा नहीं है कि विकल्प मौजूद नहीं हैं । उदाहरण के लिए, X संसाधन प्रक्रिया के बजाय प्रदर्शन सत्र प्रति हैं। लेकिन वे कमांड लाइन कार्यक्रमों के लिए उपयोग करने के लिए मुश्किल हो जाता है - और कमांड लाइन कार्यक्रम आम तौर पर दूरदराज के लॉगिन भी है कि नहीं है के लिए काम करने के लिए की जरूरत है एक एक्स सर्वर से कनेक्ट करने के लिए।