Cover image for Set zsh as the default shell in your terminal.

Set zsh as the default shell in your terminal.

leamsigc profile image ismael garcia ・1 min read

How to set ZSH as the default shell in your terminal.

ZSH also called the Z shell, is an extended version of the Bourne Shell (sh), with plenty of new features, and support for plugins and themes. Since it’s based on the same shell as Bash that makes it easy for use and switching over is a breeze.

Open vim or your favorite code editor

sudo vim ~/.bashrc

Now we need to edit the file and add the following line to the end of the file remember to add a comment just to remember, what is that line of code task.

exec zsh

It will execute the command every time you load the terminal and run your zsh shell.

This is not the only way that you can get to the goal of setting zsh as the default shell but for me, this is the best and easy way to do the job.

Please if you have a better solution let me know I'm willing to learn new ways and do it in a better way.

Posted on by:

leamsigc profile

ismael garcia


Always ask questions to feed the curiosity and learn something new on the way. El respeto al derecho ajeno es la paz. Benito Juarez Garcia.


Editor guide

You aren't actually making it a default shell, your shell is still /usr/bin/bash. You are just executing a ZSH framework on top of bash shell and the only environment where it makes sense is Cygwin on Windows. On all other operating systems you'd be better off by actually making it your default login shell with a standard chsh command chsh -s $(which zsh). It's even easier, isn't it? And won't bite you back if you're developing shell scripts.


Thank you for the information and for the better solution I really appreciated.
Yeah, you are right it is better to make it the default login shell.

I'm not developing scripts for now, but like you said you never know in the future right.