終端提示符的配置

     當安裝完成一個Linux系統後,默認的終端通常是黑白顏色的,如何將提示符變成彩色的呢,這就須要在$HOME/.bashrc文件中經過對PS1的修改進行配置。下面是詳細介紹。html

     注:本篇文章借鑑的是http://wsunwind.blog.sohu.com/192388839.html的相關說明shell

1 簡單理解PS1

直接在termial中修改PS1變量就能夠改變當前環境的提示符,選到本身喜歡的就能夠寫進.bashrc文件了。bash

例如,把PS1="This is my terminal:>"加入.bashrc中,你的提示符就會變成spa

注:PS1後面沒有空格。設計

 

有時咱們想要在提示符裏顯示當前目錄、主機名等等的有用信息,這時就要用到反斜槓轉義的字符序列,以下:htm

\u  用戶名
\h  主機名第一部分
\H  主機名全稱
\w  當前工做目錄(如 「/home/username/mywork」)
\W  當前工做目錄的「基名 (basename)」(如 「mywork」)
\t   24 小時制時間
\T  12 小時制時間
\@ 帶有 am/pm 的 12 小時制時間
\d  「Sat Dec 18″ 格式的日期
\s  shell 的名稱(如 「bash」)
\v  bash 的版本(如 2.04)
\V  Bash 版本(包括補丁級別)
\n  換行符
\r  回車符
\\  反斜槓
\a  ASCII 響鈴字符(也能夠鍵入 07)
\e  ASCII 轉義字符(也能夠鍵入 33)
\[  這個序列應該出如今不移動光標的字符序列(如顏色轉義序列)以前。它使 bash 可以正確計算自動換行。
\]  這個序列應該出如今非打印字符序列以後。
blog

知道了所有的轉義序列,就能夠對本身的終端提示符進行定製了。terminal

例如我想將當前目錄以及主機名顯示到提示符中,只須要把PS1改爲"\u@\h:\w>"便可,效果以下get

2 顏色配置

      咱們設計好提示符內容以後就能夠給他們添加顏色,添加顏色就是添加終端(而不是 bash)可識別的專用轉義序列,以使它以彩色顯示文本的某些部分。標準 Linux 終端和 X 終端容許您設置前景(文字)顏色和背景顏色,若是須要,還能夠啓用 「bold」 字符。有八種顏色可供咱們選擇(用數字表示)。變量

前景   背景     顏色
—————————————
30      40      黑色
31      41      紅色
32      42      綠色
33      43      黃色
34      44      藍色
35      45      紫紅色
36      46      青藍色
37      47      白色

代碼   意義
————————-
0       OFF
1       高亮顯示
4       下劃線
5       閃爍                 #閃爍這個選項在我機子上沒反應,因此就沒有驗證,不知道是否能夠哈
7       反白顯示
8       不可見

 

如今咱們能夠定義有顏色的提示符了!

格式爲:\[\e[1;2m\]...

1是前景色,2爲後景色或者是代碼(高亮,閃爍之類的,此時默認後景色爲系統默認顏色),...爲用戶要添加的內容。

 

當全部設置完成後,此時若但願用戶輸入的命令不受顏色影響,則加入\[\e[0m\]。

例如:PS1="\[\e[36;1m\]\u@\h:\[\e[31;1m\]\w\[\e[34;1m\]> \[\e[0m\]",這個設置全是字符高亮,用戶主機部分設置成了青藍色,目錄設置成了紅色,>爲藍色,效果以下

      可是,當咱們把這個配置寫入.bashrc文件後,會發現一個問題,那就是 terminal的標題欄變成了一個永恆不變的「Termianl」了,這可能並非咱們但願的,默認的顯示用戶名、主機名和當前工做路徑(我比較喜歡這 個默認的哈),咱們可能但願把他配回來。其實配置標題欄和上面說過的配置提示符內容差很少,只是要加上:

 \e]2;…\a

...爲用戶輸入內容

相關文章
相關標籤/搜索