bash - 在 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_VERSION
print 的版本 5。如果我尝试创建一个关联数组(我认为这在 3 中不存在),它可以工作,所以我假设我正在使用新的 shell。为什么我的 bash 版本没有更新?
解决方案
尽管您正在运行更新版本的 bash,但该命令bash
(没有完整路径)仍指向原始捆绑版本:/usr/bin/bash
.
假设您确实需要以这种形式调用命令,那么您应该检查 $PATH 中的位置顺序,并确保bin/
带有新bash
命令的文件夹在 $PATH 列表之前/usr/bin
。如果做不到这一点,请在 shell 中创建一个指向新 bash 的别名。
推荐阅读
- python - Python 请求适用于 PowerShell,但不适用于 WSL
- currency - 获取货币字段符号引用的货币符号
- typescript - Typescript,如何提取其他函数返回类型并使用它而不在代码上调用该函数?
- python - 如何使用 python 将对象发布到 sonicwall api?
- django-models - 使用 Model Bakery 创建用户
- dictionary - 字典和地图 C++
- shadow - 如何屏蔽来自 LANDSAT/LE07/C01/T1_TOA 的阴影?
- javascript - 在开源 CRM 上显示通知弹出框
- spring - 为什么使用指定事务管理器时 Spring Data JPA 查询失败?
- c++ - 为什么不能将概念传递给模板元函数?