bash color code issue

网上大量的关于添加PS1的文章都说将~/.profile文件修改如下:

PS1=’\e[0;32m\h\e[0m:\W \u\$’

其实这样bash在利用readline计算字符数量的时候是会将那些\e[m的字符都计算在内的。这样就会导致不能正确的自动换行了。事实上正确的做法是:

PS1=’\[\e[0;32m\]\h\[\e[m\]:\W \u\$’

需要在这些不显示的字符前后包上 \[ \], 这样bash就不会将自动换行计算错误。

By Lu Jun

80后男,就职于软件行业。习于F*** GFW。人生48%时间陪同电子设备和互联网,美剧迷,高清视频狂热者,游戏菜鸟,长期谷粉,临时果粉,略知摄影。

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.