修改命令提示符的話,只需修改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