鳥哥SHELL的PS1變量

Linux環境變量中PS1是很重要的環境變量:linux

PS(Prompt Sign): 是指命令提示符,例如在Fedora 12的終端下:[liutao@liutao ~]$  ,在設定PS1環境變量時,咱們須要用到預設的一些特殊符號來設定PS1,下面是鳥哥書上關於BASH的特殊變量。spa

o \d :表明日期,格式爲 Weekday Month Date,例如 "Mon Aug 1" .net

o \H :完整的主機名稱。舉例來講,鳥哥的練習機 linux.dmtsai.tw ,那麼這個主機名稱就是 linux.dmtsai.tw ci

o  \h :僅取主機名稱的第一個名字。以上述來說,就是 linux 而已, .dmtsai.tw 被省略。 get

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

o \T :顯示時間,12 小時的時間格式! 變量

o \A :顯示時間,24 小時格式, HH:MM 終端

o \u :目前使用者的帳號名稱; 引用

o \v BASH 的版本信息; 程序

o \w :完整的工做目錄名稱。家目錄會以 ~ 取代;

o \W :利用 basename 取得工做目錄名稱,因此僅會列出最後一個目錄名。

o \# :下達的第幾個指令。

o \$ :提示字符,若是是 root 時,提示字符爲 # ,不然就是 $

Fedora 12下,PS1 內容爲:

鳥哥書上的例子爲:              [root@linux /home/dmtsai 16:50 #12]#

PS1='[\u@\h \w \A #\#]\$ '

    Fedora 12上的實現:

在上例中咱們看出了,PS1在賦值的時用了單引號(),下面咱們將討論下在SHELL變量賦值,先看鳥哥書上的變量賦值:

1. 變量與變量內容以等號( = )來連結;

2. 等號兩邊不能直接接空格符;

3. 變量名稱只能是英文字母與數字,可是數字不能是開頭字符;

4. 若在賦值中有空格符可使用雙引號或單引號來將變量內容結合起來,但需要特別留意, 雙引號內的特殊字符能夠保有變量特性,可是單引號內的特殊字符則僅爲通常字符;

5. 必要時須要以反斜槓(\)來將特殊符號 ( Enter, $, \, 空格符, ' ) 變成通常符號;

6. 在一串指令中,還須要藉由其它的指令提供的信息,可使用 引用字符(` command` )(特別特別注意,那個 ` 是鍵盤上方的數字鍵 1 左邊那個按鍵,而不是單引號!)

7. 若該變量爲擴增變量內容時,則需以雙引號及 $變量名稱 如: "$PATH":/home繼續累加內容;

8. 若該變量須要在其它子程序執行,則須要以 export 來使變量變成環境變量, export PATH

9. 一般大寫字符爲系統預設變量,自行設定變量可使用小寫字符,方便判斷 ( 純粹依照使用者興趣與嗜好 )

10. 取消變量的方法爲: unset 變量名稱。

那麼在PS1的設置中,由於中間有空格,因此咱們須要用單雙引號,沒有與須要用到命令的結果,因此不須要引用。而咱們選擇單引號是爲了讓PS1直接接受純字符,而不是在SHELL中有特殊意義的字符,或者以$開頭的變量,因此咱們用單引號便可,當讓也能夠用雙引號。

相關文章
相關標籤/搜索