首页 > 解决方案 > 在 mac 上升级 bash

问题描述

我尝试在我的 Macbook Pro (Mojave OS) 上升级我的 bash 版本。为此,我运行了:

brew install bash
sudo nano /etc/shells # And then added the new bash shell to the bottom of the list. 
chsh -s /usr/local/Cellar/bash/5.0.11/bin/bash

这样做之后,bash -version仍然返回版本 3,但echo $BASH_VERSIONprint 的版本 5。如果我尝试创建一个关联数组(我认为这在 3 中不存在),它可以工作,所以我假设我正在使用新的 shell。为什么我的 bash 版本没有更新?

标签: bashmacosversion

解决方案


尽管您正在运行更新版本的 bash,但该命令bash(没有完整路径)仍指向原始捆绑版本:/usr/bin/bash.

假设您确实需要以这种形式调用命令,那么您应该检查 $PATH 中的位置顺序,并确保bin/带有新bash命令的文件夹在 $PATH 列表之前/usr/bin。如果做不到这一点,请在 shell 中创建一个指向新 bash 的别名。


推荐阅读