升级Mountain Lion的bash到4.2版本

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:升级Mountain Lion的bash到4.2版本
  • 本文链接:http://zengrong.net/post/1830.htm

升级Mountain Lion的bash到4.2版本

Mountain Line自带的Bash是3.2.58版本,这个版本不支持关联数组的定义。

而我以前写的脚本中,大量使用了关联数组。因此,我需要将Bash升级到4.2版本。

安装GCC

如果GCC编译器没有安装,那么需要去Apple Developer 下载Command Line Tools。我下载的是 Command Line Tools(OSX Mountain Lion) for Xcode,文件大小为118MB。

下载bash源码

curl https://ftp.gnu.org/gnu/bash/bash-4.2.tar.gz -o ~/Downloads/bash42.gz
tar xzf ~/Downloads/bash42.gz

编译和安装

cd ~/Downloads/bashr42
./configure && make && sudo make install

使用新的bash

新安装的bash在/usr/local/bin/bash,与旧的bash并不冲突,需要设置当前用户使用它。

chsh -s /usr/local/bin/bash {user_name}
sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"

关闭终端并重新打开,输入bash -versionhelp。查看bash安装情况。

替换旧的bash

sudo mv /bin/bash /bin/bash3.2.58
sudo ln -s /usr/local/bin/bash /bin/bash

参考文章