shell终端中的提示符颜色是由环境变量中的PS1决定的,因此更改PS1即可。

1>临时更改

    [root@localhost~]# echo $PS1    
    [\u@\h\w]\$
    [root@localhost~]# PS1="\[\033[31m\][\u@\h\w]\[\e[0m\]\\$ "
    [root@localhost~]#

    使用echo $PS1 查看此时PS1的值,然后给PS1重新赋于带有颜色的值 。\[\033[31m\]中\033[31m是为了将其后的字体显示为红色,31m代表为红色,0m代表结束对文本的着色。\033[等同于\e[ 如果想要在终端打印中显示颜色,需要以这两个中的其中一个开头。开头和结尾使用\[和\]是为了不影响PS1中的命令提示符,若是PS1不使用\[和\],在终端中输入长命令(特别是在换行时会出现‘后面的输入把前面的输入覆盖’的问题)。在shell脚本或终端打印字符时开头和结尾不加\[和\]也可,不会出错。

2>永久更改

    将PS1="\[\033[31m\][\u@\h\w]\[\e[0m\]\\$ " 写入用户家目录下的 .bashrc 文件中;写入完成若想立即生效,可使用source .bashrc或 . .bashrc命令重新加载 .bashrc文件,也可使用临时更改的方法给PS1赋值,建议使用后者


参考http://www.cnblogs.com/ccorz/p/5523297.html