bash - 安装了两个版本的 bash,来自终端的关于我正在使用哪个版本的信息冲突
问题描述
我在运行 Big Sur 的 Mac 上本地安装了 Bash v3.x。我通过自制软件安装了更新的 v5.x。我不得不修改 $PATH 以添加新的 bash 安装位置(并使自制软件工作),因为自制软件将新安装放在“/opt/homebrew/bin”中。我通过添加来做到这一点
导出 PATH=/opt/homebrew/bin:$PATH
到我的 .profile 文件。
然后,在终端,
回声 $PATH
显示:
/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我选择的 OS X 设置 GUI 中显示的默认登录 shell 是
/opt/homebrew/bin/bash
当我打开一个终端窗口时,我可以在活动菜单栏中看到它默认运行 bash,但奇怪的是,在打开时,终端显示:
默认的交互式 shell 现在是 zsh。要更新您的帐户以使用 zsh,请运行
chsh -s /bin/zsh
. 更多详情,请访问https://support.apple.com/kb/HT208050。
这看起来很奇怪,但也许这些信息通常指的是 zsh 在 OS X 中是如何“默认”的——但我之前可以发誓,这表明 bash 实际上是我的默认 shell。
我试过这个:
chsh -s /opt/homebrew/bin/bash [用户]
我得到:
为 [user] 更改 shell
chsh:没有做任何改变
并且,输入:
重击--版本
显示:
GNU bash,版本 5.1.8(1)-release 等。
然而,键入:
回声 $BASH_VERSION
显示:
3.2.57(1)-发布
如果我输入命令
重击
终端提出
重击5.1美元
在我的光标提示后面。
然后,
回声 $BASH_VERSION
给
5.1.8(1)-发布
v.5.xx 不应该立即启动吗?为什么在我专门调用 bash 之前,我使用“echo $BASH_VERSION”的版本信息相互矛盾?
解决方案
推荐阅读
- python - 如何将 pandas DataFrame 中的单行转换为 numpy 数组?
- javascript - 单击时顺时针为边框圈设置动画
- powerbi-desktop - 这个图表的类型是什么?
- octave - 在 Octave 中绘制 2D 图形:得到不符合参数的错误,图形不正确
- graphics - STM32上的VGA像素分组
- android - 将我的网站限制为仅在特定设备上加载
- spring-boot - 为 spring boot 2.2.4.RELEASE 传递配置文件详细信息的替代选项
- flutter - 如何在一个类中制作多个可重用的小部件?
- python - Python-Eve:查询以字符串形式保存的 IP 地址
- docker - 启动容器进程导致“exec:\”go\“:$PATH 中找不到可执行文件”:未知