系統啓動後,環境變量加載的順序爲:/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → /etc/bashrcshell
想要修改某用戶登陸後shell字體的顏色,在~/.bashrc中修改PS1的內容便可。vim
命令提示符PS1的經常使用參數:bash
\d :日期,格式爲"周 月 日",例如:"Mon Aug 1" \H :完整的主機名; \h :僅取主機的第一個名字; \t :24小時制的時間,如:HH:MM:SS; \A :24小時制的時間:HH:MM; \T :12小時制的時間; \u :當前用戶的用戶名; \v :BASH的版本信息; \w :當前工做目錄的完整路徑; \W :當前工做目錄的basename; \$ :提示符,若是是root時,提示符爲:#,普通用戶則爲:$
要實現顏色顯示,這裏要用到轉義序列;轉義序列就是一個讓 shell 執行一個特殊步驟的控制指令。
轉義序列一般都是以ESC開頭,在shell裏表示爲^[ ,這種表示法須要一點時間去適應,也能夠用 \033 完成相同的工做(ESC的ASCII 碼用十進制表示就是27,等於用八進制表示的033)。
要直接在shell裏面輸入轉義序列須要先按CTRL-v ESC
或者CRTL-v-[
。字體
\033[m 聲明瞭轉義序列的開始。
\033[0m 聲明轉義序列結束,回到默認顏色。code
PS1中設置字符顏色有兩種方式,效果相同:登錄
一、\e[F;Bm 二、\033[F;Bm 其中"F"爲字體顏色,編號爲30-37 "B"爲背景顏色,編號爲40-47
不一樣的數字表明不一樣的意義,支持的顏色列表:變量
F B 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫色 36 46 青藍色 37 47 白色 幾種特殊'顏色': 0 OFF 1 高亮顯示 4 underline 5 閃爍 7 反顯 8 消隱(不可見)
關於 ls 和 grep 命令的 --color[=WHEN]
參數:file
--color[=WHEN]: colorize the output; WHEN can be 'never', 'auto', or 'always' (the default); always和auto的區別: always 會在任何狀況下都給匹配到的字符加上顏色標記; auto 只給最後一個管道符匹配到的字符加上顏色標記;
簡單示例:grep
# vim /etc/bashrc PS1="\e[32;1m[\u@\h \W]\\$\e[0m " # source /etc/bashrc