我正在使用 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
,它将进行更新。