修改命令提示符的话,只需修改PS1环境变量便可。shell
PS1='\[\033[01;31m\][\u@\h \W]$ \[\033[00m\]'
效果如图:bash
修改命令输入的颜色,思路是不关闭PS1的颜色,而后在每次敲下回车键执行命令的时候自动插入颜色终止符。这须要借助trap捕获DEBUG信号来实现。ssh
PS1='\[\033[01;31m\][\u]$ \[\033[1;30m\]' trap 'echo -ne "\e[0m"' DEBUG
若是要写入shell配置文件,建议写到~/.bash_profile
,而不要写入~/.bashrc
,不然借助ssh类的工具都将由于trap DEBUG信号的特殊性而无限等待,好比scp/rsync等。或者,直接判断是不是交互式登陆,是的话就设置,不然不设置:工具
if [ "${-#*i}" != "$-" ];then # interactively shell PS1='\[\033[01;31m\][\u@\h \W]$ \[\033[1;30m\]' trap 'echo -ne "\e[0m"' DEBUG fi