chsh
изменяет поле оболочки в базе данных паролей, которое читается при входе в систему. Чтобы увидеть эффект изменения, вам нужно начать новый сеанс входа в систему - например, с su -
:
Пример. подтвердите, что текущая оболочка входа - bash:
steeldriver@DESKTOP:~$ getent passwd steeldriver
steeldriver:x:1000:1000:,,,:/home/steeldriver:/bin/bash
steeldriver@DESKTOP:~$ echo $SHELL
/bin/bash
Изменить оболочку - база данных паролей обновляется немедленно, но значение $ SHELL
не изменяется
steeldriver@DESKTOP:~$ chsh -s /usr/bin/zsh
Password:
steeldriver@DESKTOP:~$ getent passwd steeldriver
steeldriver:x:1000:1000:,,,:/home/steeldriver:/usr/bin/zsh
steeldriver@DESKTOP:~$ echo $SHELL
/bin/bash
Теперь начните новый сеанс входа в систему:
steeldriver@DESKTOP:~$ su - steeldriver
Password:
steeldriver@DESKTOP-SPDO14V ~ % echo $SHELL
/usr/bin/zsh