Aprendi um novo comando, pelo menos pensei, porque esse comando chsh
:, não se comporta como o descrito.
Foi descrito para funcionar assim:
cat /etc/shells
saber quais shells estão instalados, para que você possa escolher entre eles.- faça
echo $SHELL
para saber qual shell você está usando. - escolha uma das conchas e digite
chsh -s /path/to/shell
- digite a senha e verifique com se
echo $SHELL
você está em um novo shell.
Fiz isso e não recebi nenhuma mensagem de erro ao inserir a senha, mas ainda estava no mesmo 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
tubarão
fonte
fonte
Respostas:
Saia e faça login novamente.
O
chsh
comando atualizará o/etc/passwd
arquivo, mas não altera o shell atual nem o valor da$SHELL
variável no shell atual (não há como fazer isso). Esse é o motivo pelo qual você precisa fazer login novamente; você precisa iniciar uma nova sessão de login para que uma alteração entre em vigor.fonte
/etc/passwd
não são lidas até que você faça login na próxima vez. Você precisará se desconectar completamente e se conectar novamente para que a alteração entre em vigor. Se você não conseguir fazer isso, a reinicialização da máquina também funcionará.Usar o comando utilitário usermod funcionou no meu caso. Rodando no ubuntu 18.04.
grep nameofuser /etc/passwd
sudo usermod --shell /bin/bash nameofuser
grep nameofuser /etc/passwd
fonte