##PS1是個啥? 鳥哥的書中關於PS1這麼說的:linux
這是 PS1 (數字的 1 不是英文字母),這個東西就是咱們的『命令提示字符』喔! 當咱們每次按下 [Enter] 按鍵去運行某個命令後,最後要再次出現提示字符時, 就會主動去讀取這個變量值了。上頭 PS1 內顯示的是一些特殊符號,這些特殊符號能夠顯示不一樣的信息, 每一個 distributions 的 bash 默認的 PS1 變量內容可能有些許的差別,沒關係,『習慣你本身的習慣』就行了。 你能夠用 man bash (注3)去查詢一下 PS1 的相關說明,以理解底下的一些符號意義。shell
總結來講,這個環境變量主要控制這命令提示符(也就是終端裏的wgjak47@wgjak47-M410:~$)的樣式。 ubuntu下這個變量值默認爲\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
而其中{debian_chroot:+($debian_chroot)} 這句的意思是說,若是在/etc下有debian_chroot文件,則命令提示符前面就附加上debian_chroot文件的內容。關於:+這個語法的能夠參考:[linux bash shell之變量替換][http://my.oschina.net/u/1242185/blog/357330]ubuntu
根據man page,PS1的經常使用的變量值有如下項:bash
\a 一個 ASCII 響鈴字符 (010)
\d 日期,格式是 "星期 月份 日" (例如,"Tue May 26")
\D{format}
format 被傳遞給 strftime(3),結果被插入到提示字符串中; 空的 format 將使用語言環境特定的時間格式。花括號是必需的
\e 一個 ASCII 轉義字符 (033)
\h 主機名,第一個 `.' 以前的部分
\H 主機名
\j shell 當前管理的做業數量
\l shell 的終端設備名的基本部分
\n 新行符
\r 回車
\s shell 的名稱, $0 的基本部分 (最後一個斜槓後面的部分)
\t 當前時間,採用 24小時制的 HH:MM:SS 格式
\T 當前時間,採用 12小時制的 HH:MM:SS 格式
@ 當前時間,採用 12小時制上午/下午 (am/pm) 格式
\A 當前時間,採用 24小時制上午/下午格式
\u 當前用戶的用戶名 the username of the current user
\v bash 的版本 (例如,2.00)
\V bash 的發行編號,版本號加補丁級別 (例如,2.00.0)
\w 當前工做目錄
\W 當前工做目錄的基本部分
! 此命令的歷史編號
# 此命令的命令編號
$ 若是有效 UID 是 0,就是 #, 其餘狀況下是 $
\nnn 對應八進制數 nnn 的字符
\ 一個反斜槓
[ 一個不可打印字符序列的開始,能夠用於在提示符中嵌入終端控制序列
] 一個不可打印字符序列的結束
經過設置PS1變量能夠獲得你但願的提示符樣式。字體
更進一步:彩色化 這個其實沒什麼太大用處,只是讓提示符更好看一些。 PS1環境變量支持如下色彩和特效:.net
顏色表code
前景 背景 顏色
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫色
36 46 青色
37 47 白色orm代碼 意義
0 OFF
1 高亮顯示
4 underline
5 閃爍
7 反白顯示
8 不可見blog
使用方法:字符串
在PS1中配置字符序列顏色的格式爲:
[\e[F;Bm]
基本上是夾在 "\e["(轉義開方括號)和 "m" 之間數字值。假如指定一個以上的數字代碼,則用分號將他們分開。
其中 F 爲字體顏色,編號30~37; B 爲背景色,編號40~47。
可經過 \e[0m 關閉顏色輸出;特別的,當B爲1時,將顯示加亮加粗的文字,請看下面的顏色表和代碼表。
例: export PS1="\[\e[32;1m\]\u@\[\e[32;1m\]\H\$ \[\e[0m\]"