Я был удивлен, что не нашел этот вопрос на сайте. Итак, сегодня $
появился после того, как я вошел в систему как новый пользователь. Это было неожиданно, потому что мой основной пользовательский запрос начинается с username@computername:~$
.
Итак, как мне переключиться с этой другой оболочки на bash?
Предполагая, что неизвестная оболочка поддерживает выполнение абсолютной команды, вы можете попробовать: /bin/bash
Чтобы изменить оболочку по умолчанию, я бы использовал chsh(1)
. Пример использования: chsh -s /bin/bash $USER
.
Вы вводите bash
. Если вы хотите, чтобы это было постоянно, измените оболочку по умолчанию на /bin/bash
, отредактировав /etc/passwd
.
Вот несколько фрагментов из моей /etc/passwd
:
avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin
Самое последнее поле содержит оболочку, изменение поля после последнего :
на допустимую или недопустимую оболочку будет работать. /bin/false
и /sbin/nologin
означают, что у пользователя нет настоящей оболочки для входа в систему, хотя если pam настроен неправильно, это не означает, что он не может войти в систему (я сообщал об ошибке в Arch Linux, потому что вы можете войти в систему графически, не имея оболочки для входа). /bin/bash
и /bin/zsh
- оба допустимые оболочки, смотрите /etc/shells
для списка допустимых оболочек в ваших системах. Вот мой /etc/shells
, если вам интересно.
/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash
Да, вы можете использовать chsh
или usermod
для выполнения тех же действий, пожалуйста, помните, что это просто структурированные текстовые файлы, и TIMTOWTDI.
Если chsh или ручное редактирование конфигурации не работает, но при входе в систему выполняется скрипт ~/.profile, добавьте эту строку:
exec /bin/bash --login