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


修改命令提示符顏色

修改命令提示符的話,只需修改PS1環境變量即可。

PS1='\[\033[01;31m\][\u@\h \W]$ \[\033[00m\]'

效果如圖:

修改命令輸入的顏色

修改命令輸入的顏色,思路是不關閉PS1的顏色,然后在每次敲下回車鍵執行命令的時候自動插入顏色終止符。這需要借助trap捕獲DEBUG信號來實現。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM