1 概述
在linux中惰瓜,我們在編輯時需要對文檔編輯或者一些信息的顯示加上顏色黎休,增強閱讀的效果
格式: echo -e "\033[字體顏色;字背景顏色m字符串\033[0m"
要顯示什么顏色士嚎,優(yōu)先是先判斷位置篱竭,按語法上來說毙籽,應(yīng)該是先字體色路狮,然后是背景色虫啥,但是字體色的地方數(shù)值為43,所以判斷為背景的顏色奄妨,而在后面的31本應(yīng)該是背景色涂籽,結(jié)果數(shù)值31位字體的顏色,所以顯示的效果是字體的顏色為紅色砸抛,而不是背景紅色评雌,假設(shè)這個31是數(shù)值41,則表示背景的為紅色直焙,整體的效果就是紅色背景景东,字體處沒有顏色,為默認的白色奔誓,且效果是閃爍斤吐。
其中設(shè)置顏色的格式為:\033[ ; m …… \033[0m,其中ascii code是對顏色調(diào)用的始末.也可以表示為\e[F;Bm…….\e[0m
2 顏色語法
2.1 ?顏色范圍
字背景顏色范圍: 40--49? ? ? ? ? ? ? ? ? 字顏色: 30--39
2.2 顏色舉例
3 案例
3.1 在vim編輯模式下,顏色顯示
例如顯示紅色曲初,其中紅色^[[31mred^[[0m其中^[是在插入編輯模式下按鍵進去額ctr+v+[這三個按鍵輸入的体谒。
假設(shè)寫在文檔tt1寫入對應(yīng)的語句來查看,通過cat ?tt1驗證效果
^[[31mred^[[0m :表示對應(yīng)的字是紅色字體臼婆,沒有底色抒痒,如下截圖
^[[31mred^[[44m:表示紅色字體,底色為紫紅色颁褂。假設(shè)寫在文檔tt1故响,后面cat tt1.這個屏幕底色都是藍色,字都是紅色如下截圖
^[[31;44mred^[[0m:表示紅色字體颁独,字和屏幕的底色為藍色彩届,背景沒有底色,和^[[31mred^[[44m效果一樣誓酒。如下截圖
^[[31;44mred^[[44m:表示紅色字體樟蠕,底色都是藍色
3.2 命令行模式
在命令行里輸入命令:echo -e '\e[43;31;4mmagedu\e[0m',得到如下的效果
3.3 命令提示符顯示
PS1是Linux終端用戶的一個環(huán)境變量靠柑,用來說明命令行提示符的設(shè)置寨辩。在終端輸入命令:echo $PS1,就會輸出PS1的定義:
默認的PS1變量值為 : PS1="[\u@\h \W]$"
PS1的定義中個常用的參數(shù)的含義如下:
3.3.1 把\u顯示紅色歼冰,\h顯示綠色
給PS1賦值如下:
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
這里需要注意靡狞,顏色的結(jié)束調(diào)用符號,要放在最后面隔嫡,否則當(dāng)使用命令history查看歷史命令時甸怕,會出現(xiàn)各種異常的顯示
正確的結(jié)果得到的結(jié)果如下圖
當(dāng)把結(jié)束符調(diào)整到$前面,如PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\[\e[0m\\$"腮恩,使用history查找的時候出現(xiàn)了如下的異常顯示
注意梢杭,這里賦值的時候要用單引號才能得到要的效果,只是單純改變顏色庆揪,其他值不改變式曲,如果賦值用雙引號妨托,如下
錯誤寫法:PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\$"
得到的效果如下:
如果是root時缸榛,提示符為:# ,普通用戶則為:$,但是雙引號后root的提示符為$,是不對的
解決辦法:如果用雙引號兰伤,需要再\$前再加一個\,語句如下
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
3.3.2 背景黃色内颗,第一個[左邊中括號白色,用戶名和@紅色敦腔,主機名和后面字符是藍色
賦值為PS1='\[\e[43m\][\[\e[31m\]\u@\[\e[34m\]\h \W]\$\e[0m'
效果如下截圖
這個例子均澳,我們可以明顯看出,\e[顏色值m這個是說明接下來的顏色從這里開始是什么顏色,\e[0m說明的是顏色的結(jié)束位置,
這里需要注意的是找前,如果沒有通過\[ ? \]對每一個顏色進行界定糟袁,使用過程,如上翻歷史頁躺盛,就會出現(xiàn)顯示異常项戴。
3.3.3 寫入配置文件
將設(shè)置好的PS1變量寫到家目錄下的.bashrc 里面,這樣后面開啟的終端都有效槽惫。
$ vim .bashrc
打開后添加一行
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\\$"
保存退出再次登錄時顯示的顏色也會是我們設(shè)定的值了周叮。