首页 > 解决方案 > 安装了两个版本的 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”的版本信息相互矛盾?

标签: bashmacos

解决方案


推荐阅读