Используя альтернативы обновления только для текущей оболочки

Я использую Ubuntu 15.10, таким образом, значение по умолчанию g ++ версия 5.2.1. Так как я должен изменить его на 4.7 часто, я использую альтернативы обновления; я заметил, однако, что компилятор по умолчанию не восстанавливается при закрытии терминала; это может быть проблемой, так как существует возможность смешать коды, скомпилированные с различными компиляторами. Существует ли способ вынудить оболочку восстановить настройки по умолчанию на выходе? Спасибо в совете.

Править: Я хочу благодарить the_Seppi за его драгоценную справку

2
задан 13 December 2015 в 14:54

1 ответ

Система альтернатив только работает глобально. Таким образом, Вы могли использовать что-то как

trap 'sudo update-alternatives ....' EXIT

Однако, это попросит Ваш пароль и также сбросило бы его для всех других активных оболочек. Таким образом, я сомневаюсь, что это - то, что Вы хотите.

<час>

Мое предложение: Сначала задержите альтернативу версии 'по умолчанию' g ++. Создайте что-то как следующее в Вашем ~/.bashrc файл (или безотносительно Вашего использования оболочки, если не с помощью удара):

function oldg++() {
    alias g++=/path/to/older/g++
}
function newg++() {
    unalias g++
}

Поэтому теперь Вы будете использовать более свежий g ++ по умолчанию, пока Вы не выполните команду oldg++, которую Это переключит на более старую версию для текущей сессии или пока Вы не выполнитесь newg++, который удаляет псевдоним и поэтому переключается назад на версию по умолчанию.

1
ответ дан 2 December 2019 в 05:00

Другие вопросы по тегам:

Похожие вопросы: