Apple Event: May 7th at 7 am PT

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

bash or zsh on macOS Big Sur?

Apple has dropped support for bash, which is widely used in Linux systems, due to licensing issues. Newer versions of bash are licensed with GPL v3.0 which is more restrictive (basically it doesn't allow to be packaged with other non-free software).


But, if you come from Linux and you're too accustomed to bash, you don't have to use zsh. brew to the rescue!


Just run:


brew update
brew install bash


To verify:


bash --version


Also, to stop seeing Apple's warning to use zsh, add the following line to ~/.bash_profile:


export BASH_SILENCE_DEPRECATION_WARNING=1


You're are welcome :)

Posted on Dec 15, 2020 12:39 AM

Reply

Similar questions

10 replies

Dec 15, 2020 4:02 AM in response to spirosfromlondon

bash v. 3.2.57 still exists on Big Sur. The only reason you'd need to install it is if you need a newer version.

(basically it doesn't allow to be packaged with other non-free software).

That's not the problem with GPLv3. Apple doesn't sell any part of its OS. GPLv3 would require Apple to allow modification to their own source code by the user, such as the code that prevents macOS from running on non-Apple hardware.

Dec 15, 2020 7:17 AM in response to spirosfromlondon

spirosfromlondon wrote:

My suggestion to Apple was made in jest, sorry if that wasn't clear. I also agree that Apple should primarily accommodate to their core base which is mostly people who rarely open the terminal. However, the following message was confusing to me after updating to Big Sur:

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.

So, I made this post hoping that anyone who is used to bash will find it useful, guessing that the real reason behind this message is the older version of bash (If you know the real reason, please enlighten me)

I don't assume that everyone who wants to change shells must automatically know how to do it. At least for me, I had to do some searching first and I consider my "solution" easy since, I believe, people who often use the terminal also have brew installed in their system.


I think the link in the alert— makes it clear how to change shells ...


Use zsh as the default shell on your Mac

https://support.apple.com/en-us/HT208050


Change the default shell in Terminal on Mac

https://support.apple.com/en-lk/guide/terminal/trml113/mac



Real reason (?) It was already stated above it has to do with a licensing agreement.



You can see allow available shells from the command line, copy and paste:

 cat /etc/shells

Dec 15, 2020 4:26 AM in response to Barney-15E

Yes, it still exists but it's from 2007. Bit old.


Also, thanks for correcting me. GPL 3 is certainly much more restrictive than previous versions. Maybe they'll allow users to modify their source code in the future so that they can ship all the updated versions of open source programs.


And really annoying message from Apple to change our shell. I wouldn't mind using the old version if it wasn't for that message. To be honest, I wouldn't know.

Dec 15, 2020 4:56 AM in response to Barney-15E

Agreed. But you'd be using the 2007 version. And as per Apple suggestion, it would be better to use a more recent shell such as zsh (not under GPLv3). Also, Apple's (annoying) message gives the impression that installing zsh is the only way to use an up to date shell. Perhaps they can can add that you are still free to use an updated bash shell via brew.

Dec 15, 2020 6:02 AM in response to spirosfromlondon

Agreed. But you'd be using the 2007 version.

I was commenting on your statement, "I wouldn't mind using the old version if it wasn't for that message."

Perhaps they can can add that you are still free to use an updated bash shell via brew.

That's always been true for all of the bundled unix software. You don't need to use Homebrew to install it, either. There are benefits to using Homebrew, but also some drawbacks.


People who use any shell environment should know how to install whatever shell they want. Apple doesn't need to tell them. I wouldn't suggest to a casual user that they could install some other version of the shell. The suggestion to switch default shells confuses too many people without adding the suggestion that they should install some package manager in order to install a shell when all they were doing was blindly running some command they found on the internet.

Dec 15, 2020 7:04 AM in response to Barney-15E

My suggestion to Apple was made in jest, sorry if that wasn't clear. I also agree that Apple should primarily accommodate to their core base which is mostly people who rarely open the terminal. However, the following message was confusing to me after updating to Big Sur:


The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.


So, I made this post hoping that anyone who is used to bash will find it useful, guessing that the real reason behind this message is the older version of bash (If you know the real reason, please enlighten me)


I don't assume that everyone who wants to change shells must automatically know how to do it. At least for me, I had to do some searching first and I consider my "solution" easy since, I believe, people who often use the terminal also have brew installed in their system.

Dec 15, 2020 7:52 AM in response to leroydouglas

Real reason (?) It was already stated above it has to do with a licensing agreement.


Yes, that is my opinion, the licensing issues, but perhaps you have other views? Apple doesn't clearly say the reason behind that change.


The message is indeed very clear if you want to change to the default zsh. With bash you'll still be getting that warning. Of course you can silence it as I described although the knowledge that you'd be using a 2007 version of a program wouldn't sit well with me (and, I want to believe, with a lot of other people as well).

Dec 15, 2020 7:58 AM in response to spirosfromlondon

spirosfromlondon wrote:


Real reason (?) It was already stated above it has to do with a licensing agreement.

Yes, that is my opinion, the licensing issues, but perhaps you have other views? Apple doesn't clearly say the reason behind that change.



The GPL License for the current bash is incompatible with many application-distribution-systems, like the Mac App Store, and certain other software distribution platforms

Dec 15, 2020 8:09 AM in response to leroydouglas

I'm happy we agree. But, for me, to switch to zsh just because Apple says it's the default shell that has "a comprehensive command-line completion system" is not enough. So, I prefer to continue using bash and now that I know that the currently distributed bash version is from 13 years ago, I feel that I need a way (preferably hassle free) to update and stop seeing that warning.


That was the point I was trying to make with this post apart from helping other people in the same predicament.

bash or zsh on macOS Big Sur?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.