bashrc中PS1赋值时颜色变量无法正常解析的问题求助
bashrc中PS1赋值时颜色变量无法正常解析的问题求助
各位大佬求助!我在配置.bashrc里的PS1提示符时遇到个问题,想请教下怎么解决~
我原本在.bashrc里写的PS1字符串是这样的,工作起来完全正常,终端里能显示出彩色的提示符:
PS1='${debian_chroot:+($debian_chroot)}\[\033[00;37m\]\u@\h\[\033[01;32m\]:\[\033[01;34m\]\w\[\033[01;31m\] $(parse_git_branch)\[\033[00m\]\$ '
能看到用户名主机名是灰色,路径前的冒号是绿色,路径是蓝色,Git分支是红色,最后恢复白色,显示效果很清晰。
但每次写这些\[\033[xx;xxm\]格式的颜色代码实在太麻烦了,而且颜色代码也记不住,所以我想着把这些颜色定义成变量,这样写PS1的时候就方便多了,于是改成了下面的写法:
RED='\[\033[01;31m\]' YELLOW='\[\033[01;33m\]' GREEN='\[\033[01;32m\]' BLUE='\[\033[01;34m\]' GREY='\[\033[01;37m\]' WHITE='\[\033[00m\]' PS1='${debian_chroot:+($debian_chroot)}${GREY}\u@\h${GREEN}:${BLUE}\w${RED} $(parse_git_branch)${WHITE}$ '
结果这么设置之后完全不生效!终端里直接把${GREY}、${GREEN}这些变量名当成普通字符显示出来了,根本不会解析成对应的颜色代码,这可怎么办啊?有没有大佬知道问题出在哪,该怎么调整才能让变量正常生效呢?
备注:内容来源于stack exchange,提问作者xkeshav
相关产品推荐
相关产品推荐

