A Unix shell is nothing but a program that accepts Unix commands from the keyboard and executes them. For a long time, the bash was a default shell in macOS. However, Apple replaced Bourne Again SHell with Z shell for licensing reasons. This page explains how to set up bash as your default login shell and interactive shell on macOS Catalina, “Big Sur” and above.
|Requirements||macOS OS and Terminal app|
|Est. reading time||2 minutes|
How to set default shell to bash on Macos Catalina
The procedure is as follows:
- Open the terminal application.
- List available shells by typing cat /etc/shells.
- To update your account to use bash run chsh -s /bin/bash.
- Close terminal app.
- Open the terminal app again and verify that bash is your default shell.
List your shell options on Unix
You must only include shells listed in the /etc/shells file. Otherwise, your account will get locked up when an invalid shell name or path is specified. Hence, always verify paths. Simply run the following cat command:
How to change your zsh to bash on macOS
Simply type the following command:
chsh -s /bin/bash
Close the terminal Window and reopen it again. Next you need to type the following command to make sure your user account is configured to use zsh on Unix using the printf command/echo command:
printf "%s\n" "$SHELL"
Of course, you are not limited to bash. We can see a list of all other shell installed by using the cat command and then use that shell:
# get a list
# Change to ksh
chsh -s /bin/ksh
## OR fish shell if installed on your Mac ##
chsh -s /usr/local/bin/fish
See “How do I find out what shell I am using on Linux/Unix?” for other commands-line tips and tricks.
Type the following command:
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19) Copyright (C) 2007 Free Software Foundation, Inc.
I am using bash version 3.2.57 on macOS.
How do I update or upgrade bash version?
Homebrew installs the apps you need that Apple didn’t include in their base operating system or app store such as cutting edge version of gnu/bash. See how to install Homebrew on macOS to use the brew package manager
Homebrew user can type the following brew command to install the latest version of bash on Catalina:
brew install bash
The newer version of bash is located at /usr/local/bin/bash:
ls -l /usr/local/bin/bash
If not in /etc/shells, append it:
echo /usr/local/bin/bash >> /etc/shells
We can use the which command or type command/command command to locate a command path on macOS or Unix-like operating systems. For instance, get the pathnames of the files (or links) which would be executed in the current environment:
type -a bash which bash command -v bash
Set default shell to /usr/local/bin/bash, run the following chsh command
chsh -s /usr/local/bin/bash
Verify new gnu/bash version:
GNU bash, version 5.0.11(1)-release (x86_64-apple-darwin19.0.0) Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
You learned how to set and use bash as the default shell on your Mac Catalina as Apple changed the default from bash to zsh.
🐧 4 comments so far... add one ↓
|Category||List of Unix and Linux commands|
|Disk space analyzers||ncdu • pydf|
|Firewall||Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04|
|Network Utilities||NetHogs • dig • host • ip • nmap|
|OpenVPN||CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04|
|Package Manager||apk • apt|
|Processes Management||bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time|
|Searching||grep • whereis • which|
|User Information||groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w|
|WireGuard VPN||Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04|