我正在尝试更新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
.