वहाँ एक आसान तरीका तो यह है कि केवल आवश्यक चर (बैश के एक सत्र को अलग करने की है HOME
, USER
, DISPLAY
, आदि) संरक्षित कर रहे हैं? (आवश्यक है कि कई कार्यक्रमों में विफल रहते हैं अगर घर, प्रदर्शन, अवधि, शेल, आदि सेट नहीं हैं)। अर्थात्, क्या किसी को पता है कि ये कहाँ सेट हैं?
मैंने test -n "${NO_ALIASES+D}" && return 0
अपने साथ लाइन जोड़ने की कोशिश की थी ~/.bash_aliases
(मैंने अतिरिक्त कुछ भी नहीं किया था ~/.bashrc
) ~/.bashrc
अगर मैंने किया तो एक प्राचीन खट्टा हो जाएगा
env -i NO_ALIASES=1 bash
लेकिन वे चर अभी भी गायब थे।
मैंने /etc/profile
अलग-थलग शेल में भी स्रोत की कोशिश की , लेकिन कोई फायदा नहीं हुआ।
जो काम करता है वह एक मैनुअल पास-थ्रू है:
env -i HOME=$HOME DISPLAY=$DISPLAY SHELL=$SHELL TERM=$TERM bash --norc
वास्तव में आप क्या करना चाहते हैं? आप इसकी आवश्यकता क्यों है? आप कौन से चर नहीं चाहते हैं?
—
टेराडॉन
मैं एक ही उपयोगकर्ता खाते के भीतर काम करना चाहता हूं, लेकिन पर्यावरण चर के न्यूनतम सेट के साथ, अपने वातावरण को मैन्युअल रूप से स्विच किए बिना। मैं ROS के कैटकिन बिल्ड सिस्टम के साथ काम कर रहा हूं , जो कि एक कमाल का उपकरण है (सामान्य वर्कस्पेस और कई बिल्ड जैसे सामान बनाने के लिए, कार्यक्षेत्र निर्भरता, पथ प्रबंधन का पीछा करते हुए )। इस प्रणाली और आरओएस के भीतर ही, एक टन पर्यावरण चर होते हैं, जिनमें से बहुत सारे से जुड़े होते हैं, और कुछ जो सेटअप फ़ाइलों को फिर से सोर्स करने से दूर नहीं जा सकते हैं। मैं एनवी को अलग करके परिणामों को पुन: पेश करना चाहूंगा।
—
eacousineau