如何确保我正在运行 bash 的更新版本?

如何确保我正在运行 bash 的更新版本?

我正在使用 Mac 学习 bash,我只是尝试使用以下命令更新 bash:

    brew install bash
    sudo -s
    echo /usr/local/bin/bash >> /etc/shells
    chsh -s /usr/local/bin/bash

现在,bash --version告诉我我的版本是 4.3.33,并brew upgrade bash给出一个错误,指出 bash 4.3.33 已安装。然而,当我尝试时echo $BASH_VERSION,我得到 3.2.57。这是否意味着我已经安装了版本 4,但我的 shell 仍在使用早期版本?如何确保我确实在使用新版本?

答案1

Terminal.app 可以为新窗口启动特定的 shell,而不是您的登录 shell。打开 Terminal.app 首选项面板。

在“常规”选项卡上,有一个名为“外壳打开方式:”的选项。通常选择“默认登录 shell”,但可以指定不同的命令。

如果您曾经单击过“命令(完整路径)”,则默认路径是“/bin/bash”,这将为您提供所遇到的行为。如果是这种情况,只需重新选择“默认登录 shell”

此外,确认您确实更改了用户帐户上的 shell 的另一种方法是从常规帐户运行chsh(或chpass...chfn所有相同的程序),无需 sudo,也无需任何命令行参数。它将提示您输入密码,然后打开一个编辑器窗口,允许您一次编辑 Unix 用户帐户的多个属性。您正在编辑的文件的其中一行将列出您的 shell。我的说:

Shell: /bin/bash

...这意味着我没有更改我的默认外壳。如果您仍然这样说,您可以编辑该行来表示Shell: /usr/local/bin/bash,它将进行更新。

相关内容