Apple is changing the default user shell to what replacement starting in macOS 10.15 Catalina?
- bash
- tcsh
- zsh
- dash
EXPLANATION
Apple unveiled macOS Catalina yesterday with support
for iPad apps and lots of new features, but a big change for developers
and power users was missing from the on stage presentation. Starting
with macOS Catalina, Macs will now use zsh as the default
login shell and interactive shell across the operating system. All newly created user accounts in macOS Catalina will use zsh by default. Bash will still be available, but Apple is signaling that developers should start moving to zsh on macOS Mojave or earlier in anticipation of bash eventually going away in macOS.
login shell and interactive shell across the operating system. All newly created user accounts in macOS Catalina will use zsh by default. Bash will still be available, but Apple is signaling that developers should start moving to zsh on macOS Mojave or earlier in anticipation of bash eventually going away in macOS.
Apple hasn’t explained exactly why it’s making this
change, but bash isn’t exactly a modern shell as it’s implemented in
macOS, and a switch to something less aging makes a lot more sense for
the company. Apple is stuck using version 3.2 of bash that has been
licensed under GPLv2, as newer versions are licensed under GPLv3. Apple
has kept clear of using GPLv3 packages in macOS as the license is
generally more restrictive to companies like Apple that sign their own
code and it includes explicit patent grants, too.
While a number of Mac developers have already moved on to
even more modern shells like Fish, zsh is more compatible with Bourne
shell (sh) and mostly compatible with bash. There’s a lot more flexible
autocomplete with zsh, and if you’re interested in moving to zsh on
macOS Mojave then there are plenty of helpful guides for getting the best terminal setup and getting used to zsh before bash is fully phased out.
0 comments:
Post a Comment