Я был удивлен, что я не нашел этот вопрос уже на сайте. Итак, сегодня $
подошел после того, как я вошел как новый пользователь. Это было неожиданно, потому что подсказка моего основного пользователя начинается с username@computername:~$
.
Итак, как мне перейти с этой другой оболочки на bash?
$
подошел, аusername@computername:~$
не означает, что это не был удар. Точное форматирование приглашения задается переменной PS1, которую можно настроить или настроить по-разному для разных пользователей.echo $SHELL
чтобы узнать, какая у вас текущая оболочка./bin/sh
часто означает не много, это обычно символическая ссылка на что-то еще. Я бы напечатал,ls -l /bin/sh
чтобы увидеть, что это символическая ссылка. В некоторых случаях, когда символическая ссылка на что-то меняет свое поведение, я не думаю, что bash таков.bash
as/bin/sh
отключает многие функции bash (он переходит в режим соответствия POSIX).Ответы:
Предполагая, что неизвестная оболочка поддерживает выполнение абсолютной команды, вы можете попробовать:
/bin/bash
Чтобы изменить оболочку по умолчанию, я бы использовал
chsh(1)
. Пример использования:chsh -s /bin/bash $USER
источник
/etc/passwd
chsh(1)
позволит только перейти на оболочку, которая указана в/etc/shells
(и доступна, предположительно).chsh -l
перечисляет альтернативы. Будьте осторожны, некоторые (напримерnologin
) определены для учетных записей, которые никогда не должны использоваться для входа (хороший способ заблокировать себя), могут быть локальные дополнения для специального использования.Вы вводите
bash
. Если вы хотите, чтобы это было постоянным, измените оболочку по умолчанию на/bin/bash
редактирование/etc/passwd
.Вот некоторые фрагменты из моего
/etc/passwd
:Самое последнее поле содержит
:
оболочку. Будет работать модификация поля после последней действительной или недействительной оболочки./bin/false
и/sbin/nologin
оба означают, что у пользователя нет настоящей оболочки для входа, хотя, если pam настроен неправильно, это не значит, что он не может войти (я сообщил об ошибке в Arch Linux, потому что вы можете войти графически, не имея оболочка входа в систему)./bin/bash
и/bin/zsh
оба являются действительными оболочками, см./etc/shells
список допустимых оболочек в ваших системах. Вот мой,/etc/shells
если вам интересно.Да, вы можете использовать
chsh
илиusermod
делать то же самое, пожалуйста, помните, что это просто структурированные текстовые файлы и TIMTOWTDI.источник
chsh
вместо ручного редактированияpasswd
/etc/passwd
я не чувствовал, что перечисляю их, потому что я всегда делаю это вручную. chsh и usermod могут сделать это.Если chsh или редактирование конфигурации вручную не сработает, но при входе в систему выполняется скрипт ~ / .profile, добавьте следующую строку:
источник
touch ~/.bash_profile
или иначе bash будет исполнять себя в цикле: bash принимает~/.profile
в случае, если~/.bash_profile
не существует.