How to Change the Default Shell to Bash on macOS Catalina
Zsh is only the default shell on newly created user accounts, so any existing accounts you have on an upgraded Mac will still use Bash by default unless you change it. Each user account has its own default shell preference.
From the Terminal
To change a user account’s default shell on macOS, simply run the
chsh -s (change shell) command in a Terminal window.
Change the default shell to Bash by running the following command:
chsh -s /bin/bash
You’ll have to enter your user account’s password. Finally, close the Terminal window and reopen it. You’ll be using Bash instead of Zsh.
Change the default shell back to Zsh by running this command:
chsh -s /bin/zsh
Enter your password when prompted. After you close the terminal window and reopen it, you’ll be using Zsh.
You can see a list of included shells you can select by running the following command:
From System Preferences
You can also change this option graphically from System Preferences if you prefer.
Head to System Preferences > Users & Groups on your Mac. Click the lock icon and enter your password. Hold the Ctrl key, click your user account’s name in the left pane, and select “Advanced Options.”
Click the “Login Shell” dropdown box and select “/bin/bash” to use Bash as your default shell or “/bin/zsh” to use Zsh as your default shell. Click “OK” to save your changes.
Bash on macOS Is Still Outdated
Note that the version of Bash (Bourne Again SHell) included with macOS is still pretty outdated, however. If you run
bash --version , you’ll see that Catalina includes Bash 3.2.57 when Bash 5.0 is the latest version. Newer versions are licensed under the GPLv3 license, while Apple still distributes a version licensed under GPLv2.
In contrast, the version of Zsh (Z shell) included with macOS (check with
zsh --version ), is Zsh 5.7.2, which is the latest version at the time of Catalina’s release.
If you want the latest version of Bash, you can install it yourself via Homebrew.