Недавно я установил openSUSE 13.1 и настроил mc обычно, добавив псевдоним 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 меняет каталог и находится в каталоге перед выходом, но в приглашении bash рабочий каталог - тот, из которого был вызван скрипт.

Может ли быть так, что некоторые настройки bash необходимы для того, чтобы это работало?

1 ответ1

1

Использование ответа выше рабочего решения для оболочки Bash это:

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

ИЛИ ЖЕ

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .