7

I've upgraded to Big Sur and noticed my user was still using bash shell, so I changed Users → Advanced Options → Login shell to /bin/zsh and restarted.

The shell that starts appears to be zsh insofar this happens:

$ echo $SHELL /bin/zsh 

But the terminal never sources ~/.zshrc, it actually is still sourcing ~/.bash_profile and I don't understand why. New sessions also still gives this warning:

The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. 

I've already run chsh but it doesn't have anything to change, and it definitely points to /bin/zsh. If I create a new user it uses zsh and ~/.zshrc as expected.

I'm starting to suspect that my default shell is in fact not zsh, but is actually still using bash.. Can anyone tell me what's wrong that causes my terminal to not behave like a new user's, or how I can further debug this issue?

EDIT: Yeah it's stuck on bash:

$ ps PID TTY TIME CMD 892 ttys000 0:00.02 -bash 869 ttys001 0:00.01 -bash 1011 ttys002 0:00.01 -bash 

How can that be? My user settings definitely point to zsh: user advanced options with highlighted login shell pointing to /bin/zsh

1
  • Have you tried restarting your machine after setting zsh? Commented Dec 27, 2020 at 18:17

1 Answer 1

6

Are you using macOS's Terminal.app? It might be overriding this in its Preferences:

enter image description here

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.