I'm trying to permanently change my shell to zsh using chsh
command, but it's not working.
zsh is installed (via apt) and works fine when I invoke it directly from a bash prompt terminal. But I can't get zsh to load in terminals by default, and chsh is doing something weird:
$ echo $SHELL
/bin/bash
$ which zsh
/usr/bin/zsh
$ chsh -s /usr/bin/zsh
Password:
$ echo $SHELL
/bin/bash
$ grep kurtosis /etc/passwd
kurtosis:x:1000:1000:kurtosis,,,:/home/kurtosis:/usr/bin/zsh
It appears chsh has managed to correctly change /etc/passwd, but not the $SHELL env variable. As such, new terminals always start in bash and not zsh.
I'm not sure where to look to troubleshoot this. .bashrc
, even though it's not invoked until the shell is specified? Any help appreciated.
SHELL=
variable. Bash will, however, set the variable if it is not already set, but I do not think any other shell does. – Mar 30 '21 at 10:36