Как можно изменить оболочку по умолчанию? В 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