PS1(是數(shù)字1而不是字母l),每個(gè)版本bash的PS1變量?jī)?nèi)的特殊符號(hào)可能有些小的差異,你可以先man bash 一下。下面是FC4環(huán)境下默認(rèn)的特殊符號(hào)所代表的意義:
\d :代表日期,格式為weekday month date,例如:"Mon Aug 1"
\H :完整的主機(jī)名稱。例如:我的機(jī)器名稱為:fc4.linux,則這個(gè)名稱就是fc4.linux
\h :僅取主機(jī)的第一個(gè)名字,如上例,則為fc4,.linux則被省略
\t :顯示時(shí)間為24小時(shí)格式,如:HH:MM:SS
\T :顯示時(shí)間為12小時(shí)格式
\A :顯示時(shí)間為24小時(shí)格式:HH:MM
\u :當(dāng)前用戶的賬號(hào)名稱
\v :BASH的版本信息
\w :完整的工作目錄名稱。家目錄會(huì)以 ~代替
\W :利用basename取得工作目錄名稱,所以只會(huì)列出最后一個(gè)目錄
\# :下達(dá)的第幾個(gè)命令
\$ :提示字符,如果是root時(shí),提示符為:# ,普通用戶則為:$
默認(rèn)的PS1內(nèi)容為: PS1='[\u@\h \W]\$ ' ,所以默認(rèn)的提示符就是: [root@linux ~]#。
如要更改在shell提示符下輸入:
[root@web1177 ~]# PS1='[\u@\h \w\#]\$ '
這樣就可以知道你現(xiàn)在輸入的是第幾個(gè)命令。
下面我們將討論下在SHELL變量賦值,先看鳥哥書上的變量賦值:
1. 變量與變量?jī)?nèi)容以等號(hào)( = )來連結(jié);
2. 等號(hào)兩邊不能直接接空格符;
3. 變量名稱只能是英文字母與數(shù)字,但是數(shù)字不能是開頭字符;
4. 若在賦值中有空格符可以使用雙引號(hào)或單引號(hào)來將變量?jī)?nèi)容結(jié)合起來,但須要特別留意, 雙引號(hào)內(nèi)的特殊字符可以保有變量特性,但是單引號(hào)內(nèi)的特殊字符則僅為一般字符;
5. 必要時(shí)需要以反斜杠(\)來將特殊符號(hào) ( 如 Enter, $, \, 空格符, ' 等 ) 變成一般符號(hào);
6. 在一串指令中,還需要藉由其它的指令提供的信息,可以使用引用字符(` command` );(特別特別注意,那個(gè) ` 是鍵盤上方的數(shù)字鍵 1 左邊那個(gè)按鍵,而不是單引號(hào)!)
7. 若該變量為擴(kuò)增變量?jī)?nèi)容時(shí),則需以雙引號(hào)及 $變量名稱 如: "$PATH":/home繼續(xù)累加內(nèi)容;
8. 若該變量需要在其它子程序執(zhí)行,則需要以 export 來使變量變成環(huán)境變量, 如export PATH
9. 通常大寫字符為系統(tǒng)預(yù)設(shè)變量,自行設(shè)定變量可以使用小寫字符,方便判斷 ( 純粹依照使用者興趣與嗜好 ) ;
10. 取消變量的方法為: unset 變量名稱。
那么在PS1的設(shè)置中,因?yàn)橹虚g有空格,所以我們需要用單雙引號(hào),沒有與需要用到命令的結(jié)果,所以不需要引用。而我們選擇單引號(hào)是為了讓PS1直接接受純字符,而不是在SHELL中有特殊意義的字符,或者以$開頭的變量,所以我們用單引號(hào)即可,當(dāng)讓也可以用雙引號(hào)。