Я выучил новую команду, по крайней мере, я думал, потому что эта команда: chsh
не ведет себя так, как описано.
Было описано, что работать так:
cat /etc/shells
узнать, какие оболочки установлены, чтобы вы могли выбирать среди них.- сделать ,
echo $SHELL
чтобы знать, какую оболочку вы используете. - выберите один из снарядов и введите
chsh -s /path/to/shell
- введите пароль и подтвердите
echo $SHELL
, что вы находитесь в новой оболочке.
Я сделал это, и я не получил сообщение об ошибке при вводе пароля, но я все еще был в той же оболочке.
% echo $SHELL
/bin/bash
% cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
% chsh -s /bin/sh
Password:
% echo $SHELL
/bin/bash
shell
ubuntu
command-line
sharkant
источник
источник
Ответы:
Выйдите и войдите снова.
Команда
chsh
обновит/etc/passwd
файл, но она не изменит текущую оболочку или значение$SHELL
переменной в текущей оболочке (она не может этого сделать). По этой причине вам необходимо снова войти в систему; Вы должны начать новый сеанс входа в систему, чтобы изменения вступили в силу.источник
/etc/passwd
не читается, пока вы не войдете в следующий раз. Чтобы изменения вступили в силу, вам придется полностью выйти из системы и войти снова. Если вам не удастся это сделать, перезагрузка компьютера также будет работать.Использование утилиты usermod работало в моем случае. Бег на убунту 18.04.
grep nameofuser /etc/passwd
sudo usermod --shell /bin/bash nameofuser
grep nameofuser /etc/passwd
источник