修改shell命令提示符和命令的輸入顏色

修改命令提示符顏色

修改命令提示符的話,只需修改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
相關文章
相關標籤/搜索