在 mac 上升级 bash
Posted
技术标签:
【中文标题】在 mac 上升级 bash【英文标题】:Upgrading bash on mac 【发布时间】:2020-03-13 15:42:14 【问题描述】:我尝试在我的 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_VERSION
打印版本 5。如果我尝试创建一个关联数组(我认为这在 3 中不存在),它可以工作,所以我假设我是使用新的外壳。为什么我的 bash 版本没有更新?
【问题讨论】:
是否有可能您正在运行新的 bash,但命令bash
仍然指向原来的? which bash
带给你什么?
哪个 bash 只给了我原始的 shell。好像找不到其他的?
【参考方案1】:
brew
将bash
可执行文件添加到/usr/local/bin/
目录。
我认为这应该可行:
brew install bash
sudo nano /etc/shells # And then add /usr/local/bin/bash to the bottom of the list.
chsh -s /usr/local/bin/bash
【讨论】:
【参考方案2】:尽管您正在运行更新版本的 bash,但命令 bash
(没有完整路径)仍指向原始捆绑版本:/usr/bin/bash
。
假设您确实需要以这种形式调用命令,那么您应该检查 $PATH 中的位置顺序,并确保带有新 bash
命令的 bin/
文件夹在 $PATH 列表中在/usr/bin
之前。如果做不到这一点,请在 shell 中创建一个指向新 bash 的别名。
【讨论】:
以上是关于在 mac 上升级 bash的主要内容,如果未能解决你的问题,请参考以下文章