5

In Catalina, Apple made ZSH the default shell, however, macOS retained the (now deprecated) Bash. Despite my attempts to unearth something related to this, I couldn't find out whether Big Sur will keep Bash in fresh installations or remove it altogether.

Is there any official word out there regarding this? At the very least (...and FWIW), any anecdotal experience coming from beta installations? Thank you.

6
  • 5
    The version of bash that ships with macOS is so old it shouldn't be used to begin with. Regardless of what version of macOS one uses one should upgrade bash on their system if they intend to use it. IMO it doesn't matter whether or not Apple removes bash from macOS Big Sur, upgrade/install bash to ver 4.5 or later if you intend to use bash. Commented Jun 30, 2020 at 14:44
  • @user3439894: thank you - all valid points that I am familiar with, and agree 100%. However, with a wide user base, you will always get the occasional ones insisting on running a legacy version of your software on the latest OS nonetheless. So, if for no other reasons than knowing the "battles that lie ahead" :) it may be helpful to know. Commented Jun 30, 2020 at 17:37
  • 2
    elder elder, I agree it would be nice to know and if I did I would have posted and answer along with the content of my comment. The issue at this point is those whom have a current beta are under an NDA. So unless someone wants to violate the NDA we'll have to wait till the public beta later in July. Commented Jun 30, 2020 at 19:13
  • @user3439894 - ah, silly me! I didn't realize (or actually forgot about) the NDA being in place. Appreciate your comments! Commented Jun 30, 2020 at 19:19
  • 1
    Download the installation app, mount the dmg containing the install files, and look inside the .pkg file for /bin/bash. (I think it's in content/sharedsupport/InstallESD.dmg, then packages/core.pkg). You can use Pacifist to open the .pkg or use 'pkgutil --expand-full target-dir pkg_file_here' to decompress the whole system and then check for bash.
    – Joy Jin
    Commented Jul 6, 2020 at 1:14

1 Answer 1

9

In Catalina, Apple made ZSH the default shell, however, macOS retained the (now deprecated) Bash.

There's some misconceptions that need to be cleared up:

  • ZSH is the default for shell for new users in Catalina, however, for existing users, the Bash shell remains the users' current shell.

  • Bash is not deprecated in any way. It is still current and the version that ships with macOS is perfectly fine. The reason that Bash is "so old" is because of the GPL license version. Apple switched to ZSH for this same reason.

Is there any official word out there regarding this? At the very least (...and FWIW), any anecdotal experience coming from beta installations?

There's no "official word" on something that's not even projected to happen. As for anecdotal evidence, I cite cron; it has been deprecated since Snow Leopard in favor of launchd. We're in Catalina now an cron is still around and fully functional.

It's also important to note that there is a difference between deprecated and no longer supported.

  • cron is deprecated meaning that while still supported, there's no more development on it and admins/users should start migrating to the new tool(s) (launchd).
  • AFP is no longer supported for file sharing. You can use it as a client (connect to an old server with AFP support), but you cannot share a folder from Mojave/Catalina with AFP.

Just because Apple makes a move to support a more modern technology, doesn't mean they are going resect it from their base code so it's not longer available in future versions.

1
  • 1
    Duly noted, on all fronts. However, regarding the last phrase, Apple had no qualms issuing the following statement regarding other scripting languages: "Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include scripting language runtimes by default, and might require you to install additional packages. If your software depends on scripting languages, it’s recommended that you bundle the runtime within the app. (49764202)". This was an "official word" that I expect them to keep. Commented Jul 7, 2020 at 13:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .