設置Linux終端字體顏色


系統啟動后,環境變量加載的順序為:/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → /etc/bashrc

想要修改某用戶登錄后shell字體的顏色,在~/.bashrc中修改PS1的內容即可。

命令提示符PS1的常用參數:

\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 聲明轉義序列結束,回到默認顏色。

PS1中設置字符顏色有兩種方式,效果相同:

1、\e[F;Bm
2、\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]參數:

--color[=WHEN]: colorize the output; WHEN can be 'never', 'auto', or 'always' (the default);

always和auto的區別:

always 會在任何情況下都給匹配到的字符加上顏色標記;
auto 只給最后一個管道符匹配到的字符加上顏色標記;

簡單示例:

# vim /etc/bashrc

PS1="\e[32;1m[\u@\h \W]\\$\e[0m "

# source /etc/bashrc


免責聲明!

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



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