Linux 修改終端命令提示符顏色

2022-08-13 16:57:12 字數 4424 閱讀 3309

ps1是linux終端使用者的乙個環境變數,用來說明命令列提示符的設定。

可以使用 man bash命令檢視bash手冊,找到該變數支援的特殊字元,以及這些特殊字元的意義:

\a     

#an ascii bell character (07) 

\d     

#the date in "weekday month date" format (e.g.,  "tue  may 

26")   

\d   

#the  format  is  passed  to strftime(3) and the result is 

#inserted into the prompt string; an empty format  results 

#in a locale-specific time representation.  the braces are 

#required 

\e     

#an ascii escape character (033) 

\h     

#the hostname up to the first 『.』 

\h     

#the hostname 

\j     

#the number of jobs currently managed by the shell 

\l     

#the basename of the shell』s terminal device name 

\n     

#newline 

\r     

#carriage return \s

#the name of the shell, the basename of  $0  (the  portion 

#following the final slash) 

\t     

#the current time in 24-hour hh:mm:ss format 

\t     

#the current time in 12-hour hh:mm:ss format 

\@     

#the current time in 12-hour am/pm format 

\a     

#the current time in 24-hour hh:mm format 

\u     

#the username of the current user 

\v     

#the version of bash (e.g., 2.00) 

\v     

#the release of bash, version + patch level (e.g., 2.00.0) 

\w     

#the current working  directory,  with  $home  abbreviated 

#with  a tilde (uses the value of the prompt_dirtrim vari- 

#able) 

\w     

#the basename of the current working directory, with $home 

#abbreviated with a tilde 

\!     

#the history number of this command 

\#     #the command number of this command 

\$     

#if the effective uid is 0, a #, otherwise a $ 

\nnn   

#the character corresponding to the octal number nnn 

\\     

#a backslash 

\[     

#begin  a sequence of non-printing characters, which could 

#be used to embed a terminal  control  sequence  into  the 

#prompt 

\]     

#end a sequence of non-printing characters

下面我把常用的特殊字元做中文解釋:

\d :

#代表日期,格式為weekday month date,例如:"mon aug 1" 

\h :

#完整的主機名稱。 

\h :

#僅取主機的第乙個名字,如上例,則為fc4,.linux則被省略 

\t :

#顯示時間為24小時格式,如:hh:mm:ss 

\t :

#顯示時間為12小時格式 

\a :

#顯示時間為24小時格式:hh:mm 

\u :

#當前使用者的賬號名稱 

\v :

#bash的版本資訊 

\w :

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

\w :

#利用basename取得工作目錄名稱,所以只會列出最後乙個目錄 

\# :#下達的第幾個命令 

\$ :

#提示字元,如果是root時,提示符為:# ,普通使用者則為:$

在ps1中設定字串行顏色的格式為:\[\e[f;bm\]

其中「f」為字型顏色,編號30~37;「b」為背景色,編號40~47。

下面看下顏色表:

前景     背景      顏色

------------------------

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變數來設定有顏色的命令提示符:

ps1="\[\e[32m\]#\##\[\e[1;31m\]\u@\[\e[36m\]\h \w]\$\[\e[m\"

說明:『\[\e[32m\]』用來設定『#\##』的顏色為綠色,#\##就是顯示現在執行的是第幾條命令

『[\e[31m\]』設定『\u@』的顏色為紅色並高亮顯示,如果指定多個數字需要用分號隔開。\u@ 就是當前登入的使用者名稱後跟乙個『@』符號。

『\[\e[36m\]』設定『\h\w』為青藍色,\h表示主機名的第一位,如果主機名為centos6.lampbo.org,那麼就顯示centos6;\w將顯示完整的絕對路徑。

『\$』 提示字元,如果是root時,提示符為:# ,普通使用者則為:$。

『\[\e[m\]』使用來關閉顏色設定的。要是你沒有這個的話;那麼,你的命令提示符,包括你通過命令提示符輸出的東西都是和最後一次的顏色設定相同。

為了能夠在啟動和登入是可以保持剛剛設定的變數,需要將ps1的設定加入到使用者home目錄的.bashrc檔案後。

額外的示例:

(1):ps1="\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m:\w\$ "

(2):編輯.bashrc,加入以下內容:

c_1=

"\[\e[0m%\]"

c0="\[\e[30m%\]"

c1="\[\e[31m%\]"

c2="\[\e[32m%\]"

c3="\[\e[33m%\]"

c4="\[\e[34m%\]"

c5="\[\e[35m%\]"

c6="\[\e[36m%\]"

c7="\[\e[37m%\]"

ps1=

"$c0***** $c1\w $c2*** $c3<\u@\h> $c4***** $c5\! $c6***** $c7\t $c1***\n$c2\$ $c_1"

; export ps1  

來自為知筆記(wiz)

修改Linux命令提示符

今天在新公司用putty開啟伺服器,擦,暈了 敲命令的開頭部分 出現 eth1 趕緊google 改為自己習慣的,後來找啊 找 發現這些是命令提示符 哈哈 export ps1 u h w 即可,其中 u顯示當前使用者賬號,h顯示當前主機名,w顯示當前路徑,顯示 符號 w 代替 w 就可以實現絕對路...

Linux修改BASH命令提示符

shell命令提示符及顏色是由ps1來配置 1.其中ps1常用的引數含義如下 d 代表日期,格式為weekday month date,例如 mon aug 1 h 完整的主機名稱 h 僅取主機的第乙個名字 t 顯示時間為24小時格式,如 hh mm ss t 顯示時間為12小時格式 a 顯示時間為...

Linux 修改bash命令提示符

含義在檔案末尾加上一下內容 ps1 033 0 32m u h w 033 0m export ps1ps1被用作主要的提示字串使用 相關特殊字元 h 完整的主機名稱。h 僅取主機的第乙個名字,到 結束 u 當前使用者的使用者名稱 w 完整的工作目錄名稱。宿主目錄 如 hom peter 會以 代替...