mc-wrapper MC_PWD निर्देशिका से बाहर नहीं निकलता है


0

मैंने हाल ही में ओपनएसयूएसई 13.1 स्थापित किया है और mcविशिष्ट रूप से सेट किया गया है , इसलिए एमएसी को अलियासिंग करके mc-wrapper.shइसे अंतिम कार्य निर्देशिका में बाहर निकलने के mcलिए उदाहरण के लिए। हालाँकि यह काम नहीं करता है। मैंने mc-wrapper.shस्क्रिप्ट - echoकमांड को डिबग करने की कोशिश की ।

MC_USER=`id | sed 's/[^(]*(//;s/).*//'`
MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"
/usr/bin/mc -P "$MC_PWD_FILE" "$@"

if test -r "$MC_PWD_FILE"; then
        MC_PWD="`cat "$MC_PWD_FILE"`"
        if test -n "$MC_PWD" && test -d "$MC_PWD"; then
                echo "will cd in : $MC_PWD"
                cd $MC_PWD
                echo $(pwd)
        fi
        unset MC_PWD
fi

rm -f "$MC_PWD_FILE"
unset MC_PWD_FILE
echo $(pwd)

मेरे आश्चर्य करने के लिए, mc-wrapper-shनिर्देशिका को बदलता है और बाहर निकलने से पहले निर्देशिका में है, लेकिन बैश प्रॉम्प्ट में कार्यशील निर्देशिका वह है जिसमें से स्क्रिप्ट मंगाया गया था।

क्या ऐसा हो सकता है कि काम करने के लिए कुछ बैश सेटिंग्स की आवश्यकता हो?


1
आपकी स्क्रिप्ट अपने परिवेश के साथ नई प्रक्रिया के रूप में चलती है और कॉलिंग शेल के वातावरण को बदल नहीं सकती है। यदि आप अपनी स्क्रिप्ट स्रोत आप केवल अपने खोल के कार्यशील निर्देशिका बदल सकते हैं: source name_of_your_script
सायरस

1
@ साइरस कृपया इसे उत्तर के रूप में प्रदान करें, क्योंकि इससे मेरे लिए वही समस्या हल हो गई है।
मार्सेल कोर्पेल

जवाबों:


1

बैश शेल के लिए काम कर रहे समाधान के ऊपर उत्तर का उपयोग करना यह है:

alias mc='source /usr/lib/mc/mc-wrapper.sh'

या

alias mc='. /usr/lib/mc/mc-wrapper.sh'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.