I have MacOS El Capitan - about bash it is:

bash --version
... version: 3.2.57(1)-release

I did realise the mapfile command is not available in that bash release. I already did do research and the most obvious solution is upgrade bash - but the 95% of tutorials are based with Homebrew - therefore I can't use it because my macos is very old.

Do the same approach without Homebrew exists the following:

But all is about make and install. Now according with my experience in Linux after to read a good amount of tutorials about installing and updating/upgrating sofware - it is better avoid manual installation and use repositories instead - for macos is homebrew ...

So, exists other way to update/upgrade bash without a manual make/install approach? through a .dmg file for example

Even if it would be the unique other non-homebrew approach:

  • is safe? - perhaps it asks for something that my current macos does not have and all go wrong
  • is possible again do any future upgrade in peace? for example from 4.0 to 5.0 and go on ...
  • 2
    You can use MacPorts which has better support for older macOS versions.
    – nohillside
    Commented Feb 11, 2022 at 16:29
  • The only ways are compile yourself using make or use a package manager - note that Homebrew does not support El Capitain (as note Macports does support all versions back to Tiger)
    – mmmmmm
    Commented Feb 11, 2022 at 16:40
  • @nohillside time to do a new research :) thanks for the suggestion Commented Feb 11, 2022 at 16:58
  • @mmmmmm yes, homebrew only offers supports to the 2 latest releases - not sure if that change it - time to use Macports. thanks Commented Feb 11, 2022 at 16:59

1 Answer 1


You can use MacPorts instead of Homebrew, which supports older versions of macOS as well. See https://www.macports.org/install.php for how to install it.

The MacPorts bash package can then be installed with

sudo port install bash

You must log in to answer this question.

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