Ubuntu: `env -i bash --norc`, लेकिन इसमें गृह, DISPLAY जैसे आवश्यक चर शामिल हैं? (ये सेट कहां हैं?)


0

वहाँ एक आसान तरीका तो यह है कि केवल आवश्यक चर (बैश के एक सत्र को अलग करने की है 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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.