it-swarm-ru.tech

Как мне переключиться с неизвестной оболочки на bash?

Я был удивлен, что я не нашел этот вопрос уже на сайте. Поэтому сегодня $ появился после того, как я вошел как новый пользователь. Это было неожиданно, потому что подсказка моего основного пользователя начинается с [email protected]:~$.

Итак, как мне перейти с этой другой оболочки на bash?

41
mouche

Предполагая, что неизвестная оболочка поддерживает выполнение абсолютной команды, вы можете попробовать: /bin/bash

Чтобы изменить оболочку по умолчанию, я бы использовал chsh(1). Пример использования: chsh -s /bin/bash $USER

62
Kevin M

Вы вводите 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, потому что вы можете войти графически без имея логин Shell). /bin/bash а также /bin/zsh являются действительными оболочками, см. /etc/shells для получения списка допустимых оболочек в ваших системах. Вот мой /etc/shells если вы заинтересованы.

/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash

Да, вы можете использовать chsh или usermod, чтобы делать то же самое, помните, что это просто структурированные текстовые файлы и TIMTOWTDI.

20
xenoterracide

Если chsh или ручное редактирование конфигурации не будет работать, но при входе в систему будет выполнен скрипт ~/.profile, добавьте следующую строку:

exec /bin/bash --login
12
Kevin Cantu