Unix環境下PS1變量的設置


我的ps1命令提示符: export PS1="\[\e[31;1m\]\u @ \[\e[34;1m\]\h \[\e[36;1m\]\w \[\e[33;1m\]\t $ \[\e[37;1m\]\n"

顯示效果如下:

1. 設置ps1變臉的顯示

    PS1(是數字1而不是字母l),每個版本bash的PS1變量內的特殊符號可能有些小的差異,你可以先man bash 一下。下面是FC4環境下默認的特殊符號所代表的意義:

    \d :代表日期,格式為weekday month date,例如:"Mon Aug 1"

    \H :完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux

    \h :僅取主機的第一個名字,如上例,則為fc4,.linux則被省略

    \t :顯示時間為24小時格式,如:HH:MM:SS

    \T :顯示時間為12小時格式

    \A :顯示時間為24小時格式:HH:MM

    \u :當前用戶的賬號名稱

    \v :BASH的版本信息

    \w :完整的工作目錄名稱。家目錄會以 ~代替

    \W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄

    \# :下達的第幾個命令

    \$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$

    默認的PS1內容為: PS1='[\u@\h \W]\$ ' ,所以默認的提示符就是: [root@linux ~]#。

  PS:此部分內容轉帖自 http://os.chinaunix.net/a2008/0909/985/000000985306.shtml

2. 設置ps1變量的顏色

    

我們能夠通過配置PS1變量使提示符成為彩色。在PS1中配置字符序列顏色的格式為:
 
    \[\e[F;Bm\]
 
    基本上是夾在 "\e["(轉義開方括號)和 "m" 之間數字值。假如指定一個以上的數字代碼,則用分號將他們分開。
    
    其中 F 為字體顏色,編號30~37; B 為背景色,編號40~47。
 
    可通過 \e[0m 關閉顏色輸出;特別的,當B為1時,將顯示加亮加粗的文字,請看下面的顏色表和代碼表。
 
    顏色表
 
    前景 背景 顏色
    ---------------------------------------
    30 40 黑色
    31 41 紅色
    32 42 綠色
    33 43 黃色
    34 44 藍色
    35 45 紫色
    36 46 青色
    37 47 白色
 
    代碼 意義
    -------------------------
    0 OFF
    1 高亮顯示
    4 underline
    5 閃爍
    7 反白顯示
    8 不可見
 
    假如想要配置終端提示符的樣式只要把$PS1在~/.bahrc指定即可
 
"\e[0m" 
假如將數字代碼指定為零,則他就會通知終端將前景、背景和加粗配置重置為他們的默認值。您可能會在在提示行結束時使用這個代碼,以使您鍵入的文字成為非彩色的。現在,讓我們看一下這些顏色代碼。請注意下面的抓屏結果: 
 
要使用這個表,首先請查找您要使用的顏色,然后查找對應的前景編號 (30-37) 和背景編號 (40-47)。例如,假如您喜歡黑底綠字,則可將編號分別設為 32 和 40。然后打開您的提示行定義並在其中添加適當的顏色代碼。下面的定義: 
 
export PS1="\w> " 
 
變為: 
 
export PS1="\e[32;40m\w> " 
 
到現在為止,提示行盡管已很不錯了,但仍不太完美。在 bash 顯示出工作目錄以后,我們需要使用 "\e[0m" 序列將顏色重新配置為正常值。 
 
export PS1="\e[32;40m\w> \e[0m" 
 
這個定義將顯示一個漂亮的綠色提示行,但我們仍需要做一些掃尾工作。我們無需包括 "40" 這個背景顏色配置,因為他將背景配置為黑色,而黑色是默認顏色。此外,綠色還很暗;我們通過添加一個 "1" 顏色代碼來修正這個問題,這將啟用更亮的加粗文字。除了這個修改之外,我們還需要將全部非打印字符用專用的 bash 轉義序列 "\[" 和 "\]" 括起來。這兩個序列通知 bash,被括起來的字符不占用行上的任何空間,這樣就使自動換行能夠繼續正常工作。沒有這兩個轉義序列,盡管您有了一個很漂亮的提示行,但是假如您鍵入的命令恰好到達終端的最右端,就會造成顯示混亂。

PS:此部分轉帖自 http://blog.chinaunix.net/uid-13954789-id-3137184.html


免責聲明!

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



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