Как можно изменить оболочку по умолчанию? В env
настоящее время команда говорит:
SHELL=/bin/tcsh
и я хочу изменить это на Bash.
Как можно изменить оболочку по умолчанию? В env
настоящее время команда говорит:
SHELL=/bin/tcsh
и я хочу изменить это на Bash.
Ответы:
Попробуйте команду Linux chsh
.
Подробная команда есть chsh -s /bin/bash
. Вам будет предложено ввести пароль. Ваша оболочка для входа по умолчанию /bin/bash
теперь. Вы должны выйти и снова войти, чтобы увидеть это изменение.
Следующее цитируется со страницы руководства:
Команда chsh изменяет оболочку входа пользователя. Это определяет имя начальной команды входа пользователя. Обычный пользователь может изменить оболочку входа только для своей учетной записи, суперпользователь может изменить оболочку входа для любой учетной записи.
Эта команда навсегда изменит оболочку входа в систему по умолчанию.
Примечание. Если ваша учетная запись удалена, например при аутентификации Kerberos (например, Enterprise RHEL), вы не сможете ее использовать chsh
.
chsh: can only change local entries; use ypchsh instead
, Тогда у ypchsh нет -s
выбора
/etc/passwd
, но я не проверял его дважды.
exec /bin/bash
к , ~/.profile
и это позволило мне войти в систему непосредственно Баш без внесения каких - либо изменений на сервере. (Оригинальная оболочка по умолчанию была просто /bin/sh
)
exit
введете bash? Вы выйдете с сервера напрямую или просто выйдете из bash и войдите в sh, а другой - exit
для выхода с сервера?
Вы можете изменить файл passwd напрямую для конкретного пользователя или использовать команду ниже
chsh -s /usr/local/bin/bash username
Затем выйдите и войдите
which bash
прежде чем использовать приведенную выше команду; Ваш пробег может варьироваться в зависимости от местоположения. В моем случае это было найдено в/bin/bash
chsh
команда является частью util-linux
пакета; и chsh -s $(which bash) $USER
должно получиться так же, как указано выше.
-l
опция: «распечатать список оболочек».
chsh -s /bin/bash username
для меня
Вы должны иметь «скелет» где-то в /etc
, вероятно /etc/skeleton
, или проверить настройки по умолчанию, вероятно,/etc/default
или что-то. Это скрипты, которые определяют стандартные переменные среды, которые устанавливаются при входе в систему.
Если это только для вашей учетной записи: проверьте (скрытый) файл ~/.profile
и ~/.login
. Или генерировать их, если они не существуют. Они также оцениваются процессом входа в систему.
/etc/default/useradd