क्या $ HOME पर्यावरण चर हमेशा लिनक्स सिस्टम पर सेट होता है?


13

मान लें कि मशीन लिनक्स कर्नेल चला रही है, सत्र बैश शेल का उपयोग करते हैं और सब कुछ डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग कर रहा है (किसी उपयोगकर्ता ने फ़ाइलों को कॉन्फ़िगर करने के लिए कोई बदलाव नहीं किया है), क्या हम मान सकते हैं कि $HOMEपर्यावरण चर हमेशा सेट है?


nobodyएक घर नहीं है! (यह nobodyउपयोगकर्ता है।)
devnull

1
@ देवनबुल्ल के पास घर नहीं है (यानी एक घरेलू निर्देशिका निर्दिष्ट है जो मौजूद नहीं है), का अर्थ $ गृह एनवी नहीं है। चर सेट नहीं किया जा सकता है। यदि इसे सेट किया जाता है, तो इसे केवल एक मौजूदा निर्देशिका को इंगित करने की आवश्यकता नहीं है और न ही घर में प्रवेश के लिए/etc/passwd
एन्थॉन

जवाबों:


17

हाँ। POSIX विनिर्देशन की आवश्यकता है $ HOME के लिए एक मूल्य निर्धारित करने के लिए ओएस:

होम
सिस्टम लॉगिन के समय इस चर को आरंभिक रूप से उपयोगकर्ता के घर निर्देशिका का पथनाम होगा। Pwd.h देखें

उपयोगकर्ता के बारे में क्या nobody?

# su - nobody
No directory, logging in with HOME=/
$ echo $HOME
/

भले ही nobodyकोई सच्चा घर न हो, HOMEरूट डायरेक्टरी में सेट है।


यह वह शेल नहीं है जो सेट करता है HOME- सामान्य शेल में से कोई भी zsh को छोड़कर नहीं करता है। यह वह कार्यक्रम है जो आपको लॉग इन करता है (क्रोन जैसी विधियों सहित)।
गिल्स एसओ- बुराई को रोकना '
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.