Answers:
/{,usr/}{,s}bin/
通常不应使用中的二进制文件替换其他文件。其他程序希望它们是OS X附带的版本,并由OS升级取代。
运行之后brew install bash
,可以通过以下方法安全地更改默认外壳:
/usr/local/bin/bash
到/etc/shells
chsh -s /usr/local/bin/bash
。终端或iTerm 2中的设置通常无需更改。它们都默认使用默认外壳的登录外壳打开新窗口。
也可以从“系统偏好设置”或使用dscl更改默认外壳程序,但是所有这三个选项都可以进行修改/var/db/dslocal/nodes/Default/users/$USER.plist
。
/etc/shells
以包括冲煮安装的bash。否则(至少在我的机器上)终端将拒绝启动。
brew install bash
为此工作。(即无需修改/etc/shells
)
在执行任何操作之前,请先备份当前文件(当然,但始终值得一提)
sudo cp /bin/bash /bin/bash.3.2.bk
然后创建一个指向Homebrew下载的bash可执行文件的符号链接。我认为它将在/ usr / local / Cellar中,就像这样
sudo ln -s /usr/local/Cellar/bash/4.2.10/bin/bash /bin/bash
现在/ bin / bash指向usr / local目录中的文件
我认为只要启动就可以了
brew install bash
然后将其添加为默认外壳
chsh -s /usr/local/bin/bash
因为您只在修改当前用户。但是,我注意到我的默认〜/ .profile是
if [ "/bin/bash" == $BASH ]; then
source ~/.bashrc
fi
因此需要更新。我将其更改为
if [ "bash" == $(basename $BASH) ]; then
source ~/.bashrc
fi
chsh
仅凭为什么还不够。同样,您更新后的.profile代码段看起来与原始代码段相同
brew install bash
不需要任何进一步的措施,那就太好了。使用我共享的更新的配置文件,它没有。我希望这可以帮助其他人。