$
$ ^ [[A
И это делает его очень непригодным для использования . Здесь следует учесть несколько моментов:
su - otherUser
изнутри этого пользователя работает нормально, все работает нормально. Вот .bashrc
на случай, если вы захотите взглянуть на него (он одинаков для всех пользователей, включая того, который работает правильно):
function parse_git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } RED="\[\033[0;31m\]" YELLOW="\[\033[0;33m\]" GREEN="\[\033[0;32m\]" NO_COLOR="\[\033[0m\]" #PS1="[\u@\h \W]\$" export PS1="[\u@\h $YELLOW\W$NO_COLOR]$GREEN\$(parse_git_branch)$NO_COLOR\$ "
Вот журнал вывода, когда я пытаюсь для входа в систему работает правильно ssh -vvv ubuntu @ server
: http://paste.ubuntu.com/15436267/
Вот выходной журнал для когда я пытаюсь войти в систему, не работает должным образом ssh -vvv adam @ server
: http://paste.ubuntu.com/15436301/
Описанные вами симптомы (только очень простая подсказка, клавиши со стрелками не работают) соответствуют тому, что в качестве оболочки для входа в систему используется / bin / sh
, а не / bin / bash
как и ожидалось. / bin / sh
- это небольшая оболочка, предназначенная для быстрого запуска скриптов, что неудобно для интерактивного использования.
Чтобы проверить, какая у вас оболочка входа, запустите
getent passwd $USER
Это отобразит список полей, разделенных двоеточиями, оболочка входа будет последней.
Если оболочка входа не та, которую вы хотите, запустите chsh -s / bin / bash
.
Причина, по которой вы получаете bash в терминале, может заключаться в том, что где-то в вашей конфигурации вы устанавливаете для переменной среды SHELL
значение bash. Эмуляторы терминала обычно запускают программу, обозначенную SHELL
, возвращаясь к оболочке входа в систему, если SHELL
не установлено.