Set default shell to MacPorts bash in Mac OS X 10.6.8? As a follow up to my previous question, I reinstalled my MacPorts and want to try its newer version of bash again.

I installed the newest bash via MacPorts on my Mac OS X 10.6.8 system, but when I start a Terminal.app session, the "sh --version" command showed I was still using the old bash 3.2.48. This is even when "which bash" points to the newer 4.2.37 installed by MacPorts.

I tried to change Terminal.app preferences to use the new bash as default, changed /etc/shells, and used the chsh command to specify MacPorts bash as the default. However, none of these methods were successful. What am I missing? Thank you very much.
sh --version is probably the same as /bin/sh --version. If the current shell is bash, you can see its version with echo $BASH_VERSION. If you change the default login shell with chsh, you can keep Terminal's default shell as the login shell.


sudo port install bash
Add /opt/local/bin/bash to /etc/shells
chsh -s /opt/local/bin/bash
Open a new tab and check echo $BASH_VERSION