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。
参考链接:
您可能也喜欢: | ||||
使用CloudFlare提升网站的访问体验和安全性 |
linux使用crontab实现PHP执行定时任务 |
WEB前端底层知识--浏览器是如何工作的 |
初识 jQuery Deferred |
Node.js开发指南——第3章安装Node.js快速入门(一) |
无觅 |