MacPorts bash on Big Sur as default shell

Peter West pbw at
Thu Feb 11 03:09:57 UTC 2021

I set my default shell to /bin/bash.

I kept the contents of my .profile as they were, making sure to export all of the variables I wanted, and bracketed them with tests like so:

eval profile_read=\$${USER}_profile_read
if [ -n "$profile_read" ]
then {
    echo `date` "~/.profile already read" >>/tmp/$USER.init_scripts


eval export ${USER}_profile_read=true
echo `date` "~/.profile sourced" >>/tmp/$USER.init_scripts

if [ -x "/opt/local/bin/bash" ]; then
        [ "$BASH" != "/opt/local/bin/bash" ] && exec /opt/local/bin/bash


Peter West
pbw at
“Martha, Martha, you are anxious and troubled about many things, but one thing is necessary.”

> On 11 Feb 2021, at 7:35 am, Mike Summers via macports-users <macports-users at> wrote:
> I'm not able to get MacPorts bash working in Terminal as the default shell.
> This is fresh install of Big Sur 11.2 on a new machine, fresh install of MacPorts. Only bash and bash-autocomplete are installed
> Setting the shell in either the Terminal preferences or for my user to /opt/local/bin/bash always leaves me in /bin/bash 
> The "best" workaround so far is to start in zsh which has the PATH set correctly and exec bash from there.
> My old machine where has been through many upgrades including Big Sur "just works", 
> I've run out of ideas, I'd appreciate pointers.

More information about the macports-users mailing list