Mac OSX 升级Bash4

2016-11-21 10:40:21来源:作者:LP 的移动应用开发人点击

最近在写shell脚本,需要把文件数据转成hash表,方便后面以Key-Value形式查找。然而Mac OS X 的默认Bash 是3.x版本,没有hash这种数据结构,尝试了各种方法,都不太行。最后发现Bash 4已经支持Hash,何乐而不为,直接升级吧!

下面使用brew更新bash到4.x(如果你还没有brew工具,赶紧先搜一下如何安装brew吧)

首先确认下自己的版本号

$ echo $BASH_VERSION

如果还是3.x版本,那就赶紧升级吧

1、安装bash

$ brew install bash

2、打开/etc/shells文件最后附加一行:

/usr/local/bin/bash

这里需要root权限,比如用vi打开编辑:

$ sudo vi /etc/shells

3、更改当前用户的shell

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

即便如此,Terminal仍然使用系统内置的bash,也就是/bin/bash,这可以通过打开Terminal的设置(Terminal Preferences)来修改。修改 "Shell 的打开方式"为 "命令(完成方式)",空白处填 /usr/local/bin/bash即可。

如果是远程登录,无法使用窗口系统,可以尝试如下方法:

cp /bin/bash /bin/bash-3.bakln -sf /usr/local/bin/bash /bin/bash

最后再看一下bash版本:

$ echo $BASH_VERSION4.3.42(1)-release

还有一个方法可以让你确认下当前是否正在使用Bash4,那就是试一下有没有支持hash,输入:

$ declare -A map=()

这是定义一个名为map的空hash表,如果没有任何提示,那么表示申明成功,你正在使用Bash4 。如果报错,那么就是还没有升级成功。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台