IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    MAC系统默认命令行环境BASH版本升级修改

    李惟发表于 2015-06-28 08:26:46
    love 0

    U5317U4eac这样的Unicode编码中文编码字符,经常会出现在iOS开发过程中。在断点调试的时候,控制台打印出来的都是这种编码,而不是中文,如何打印输出这种文字,真的很头疼。

    之前在唐巧的博客中,看到他提到,可以在系统终端中,使用” echo”命令来将Unicode的字符转义成中文,可是在自己的mac上试验却始终不成功。

    从万能的谷歌那里找到问题的根源,是由于Mac自带的终端bash版本过低,3.8.x的版本,无法支持echo 输出中文。那么只要将系统自带的bash升级到最新版本(至少要4.2.x以上)即可。

    首先在终端中执行以下命令,用来安装bash最新版本:

    brew install bash

    如果没有安装homebrew,可以在这里查看相关帮助:http://levi.yii.so/archives/1742

    安装完成后,你可以从opt目录下获得对应的文件,记录下来

    /usr/local/opt/bash/bin/bash

    修改/etc/shells文件,执行:

    sudo vim /etc/shells

    将刚才的完整路径复制到这一文件中,执行:wq!保存退出

    执行:

    chsh

    将

    Shell: /bin/bash

    修改为

    Shell: /usr/local/opt/bash/bin/bash

    继续 :wq! 保存退出,重启终端后执行

    echo $BASH_VERSION

    如果输出的版本是4.2.x或者更高,现在你就可以在终端中,使用

    echo -e '\e[0;33;1mHello\e[0m World'

    来输出了!恭喜!注意,是echo -e +需要输出的字符串

    PS:如果在chsh命令里修改的路径错误,退出重启终端会因为无法载入bash出错,这时,可以使用终端的偏好设置 > 启动 中的Shell的打开方式,使用命令(完整路径):/bin/bash来使用系统默认的bash启动终端,当然,这里使用命令也可以使用上面的完整路径来直接启动最新版本的bash。

    参考链接:

    • 修改系统默认Shell:http://blog.yuaz.net/archives/292
    • Upgrade Bash to 4+ on OS X:http://buddylindsey.com/upgrade-bash-to-4-on-os-x/
    您可能也喜欢:

    使用CloudFlare提升网站的访问体验和安全性

    linux使用crontab实现PHP执行定时任务

    WEB前端底层知识--浏览器是如何工作的

    初识 jQuery Deferred

    Node.js开发指南——第3章安装Node.js快速入门(一)
    无觅


沪ICP备19023445号-2号
友情链接