无法在 Mac OS X 中更改 bash shell

无法在 Mac OS X 中更改 bash shell

我正在尝试更新bash我的 Mac OS Mavericks 上的 shell。

$ brew install bash
$ which -a bash
/bin/bash
/usr/local/bin/bash

$ which bash
/bin/bash

$ chsh -s /usr/local/bin/bash
$ which bash
/bin/bash

在终端的首选项中:使用 -> Command (完整路径) : 打开外壳/usr/local/bin/bash

但我仍然无法切换到brew安装的bash shell。我能做些什么?

答案1

chsh手册中:

当更改登录 shell 而不是超级用户时,用户不得从非标准 shell 更改为非标准 shell。非标准被定义为在/etc/shells.

所以你可以chsh以 root 身份运行

sudo chsh -s /usr/local/bin/bash "$USER"

或添加/usr/local/bin/bash使其/etc/shells成为“标准外壳”

echo /usr/local/bin/bash | sudo tee -a /etc/shells
chsh -s /usr/local/bin/bash

which bash请注意, still 指向的事实/bin/bash并不意味着您的 shell 尚未更改,它只是意味着/bin/usr/local/bin您的$PATH.

相关内容