LINUX.ORG.RU

mc «ломает» alias'ы

 ,


0

1

Вот такой вопрос: почему после запуска mc все мои alias'ы из /etc/profile.d «чудесным образом» пропадают? Остаются лишь те, которые я определил в ~/.bashrc…

☆☆☆☆☆

Ответ на: комментарий от alpha3

Я имею в виду «общесистемные» алиасы, которые прописаны в /etc/profile.d/alias.sh

Eddy_Em ☆☆☆☆☆
() автор топика

man mc

Поддержка subshell Поддержка subshell - это опция компиляции, которая работает с оболочками bash, tcsh и zsh.

Если поддержка subshell включена, то Midnight Commander будет порождать точную копию (a concurrent copy) вашей оболочки (которая определена в переменной окружения SHELL или, если эта переменная не определена, в файле /etc/passwd) и запускать ее в псевдо-терминале, вместо того, чтобы каждый раз вызывать новую оболочку для выполнения команды. Введенная команда передается subshell. Это позволяет изменять значения переменных окружения, использовать функции shell и определять алиасы (aliases), которые будут действовать до выхода из программы Midnight Commander.

Если вы используете bash, можно указать команды, которые будут выполняться при запуске subshell, в файле ~/.mc/bashrc и специальную карту раскладки клавиатуры в файле ~/.mc/inputrc. Пользователи tcsh могут задать выполняемые при запуске команды в файле ~/.mc/tcshrc.

Во время выполнения приложения в subshell можно в любой момент нажать комбинацию клавиш C-o для переключения в Midnight Comman- der (выполняемая команда или приложение будут остановлены). Если вы прервали таким образом исполнение команды, вы не сможете запустить другую внешнюю команду, пока не завершите работу остановленного приложения.

Особенностью использования subshell является то, что подсказка (prompt), выводимая Midnight Commander будет той же самой, что и в вашей обычной оболочке.

В разделе Опции запуска приведена дополнительная информация о том, как можно управлять (настроить) subshell.

оно? если нет, то читайте дальше..

drBatty ★★
()
Ответ на: комментарий от drBatty

mc -U у меня не заработало (видимо, нет такой поддержки).

Добавил в ~/.bashrc строчки

if [ -f /etc/profile.d/alias.sh ]; then
	. /etc/profile.d/alias.sh
fi

Теперь работает.

Ох уж эти костыли…

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Ох уж эти костыли…

Причём здесь костыли если это Вы не понимаете чем отличаются .profile от .bashrc?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.