On Monday, Apple introduced macOS Catalina with support for iPad apps and lots of new features, however, there was a huge change for developers and power users that was missing at the presentation. Namely, the news that Apple will replace bash with zsh as a default login and interactive shell in macOS Catalina.
This means that all newly created user accounts in macOS Catalina will use zsh by default. Despite the fact that bash remains available, Apple encourages developers to start moving to zsh on macOS Mojave or earlier versions as bash might eventually be removed from macOS.
Apple has been using version 3.2 of bash which has been licensed under GPLv2 for quite a long time, as the newer versions are licensed under GPLv3 and the company didn’t want to use GPLv3 packages in macOS. Nevertheless, things are going to change with macOS Catalina launch in the fall.
Even though some Mac developers have already moved on to more modern shells like Fish, zsh is said to be more compatible with Bourne shell (sh) and mostly compatible with bash. Also, the autocomplete with zsh is much more flexible and users can find lots of helpful guides for getting the best terminal setup and getting used to zsh on before bash is fully removed.
Photo Credits: The Verge