1. 程式人生 > >Linux修改Shell命令提示符及顏色

Linux修改Shell命令提示符及顏色

br0 小時 spa 日期 背景顏色 red 24小時 信息 pan

1. Linux登錄過程中加載配置文件順序

/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]

可查看默認的~/.bashrc文件如下:

[root@~/wade/codeReview/redis-2.8.17] cat ~/.bashrc 
# .bashrc
 
# User specific aliases and functions
 
# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

2. Shell命令提示符及顏色是由PS1來配置:

[root@/etc/init.d] echo $PS1
[\[\e[32;40m\]\u@\w]

其中PS1常用的參數含義如下:

\d :#代表日期,格式為weekday month date,例如:"Mon Aug 1"
\H :#完整的主機名稱
\h :#僅取主機的第一個名字
\t :#顯示時間為24小時格式,如:HH:MM:SS
\T :#顯示時間為12小時格式
\A :#顯示時間為24小時格式:HH:MM
\u :#當前用戶的賬號名稱
\v :#BASH的版本信息
\w :#完整的工作目錄名稱
\W :#利用basename取得工作目錄名稱,所以只會列出最後一個目錄
\# :#下達的第幾個命令
\$ :#提示字符,如果是root時,提示符為:# ,普通用戶則為:$

3. 顏色值設置: PS1中設置字符顏色的格式為:\[\e[F;Bm\],其中“F“為字體顏色,編號為30-37,“B”為背景顏色,編號為40-47。顏色表如下:

F       B
30      40      黑色
31      41      紅色
32      42      綠色
33      43      黃色
34      44      藍色
35      45      紫紅色
36      46      青藍色
37      47      白色

  根據顏色表,套用入字符顏色設置格式中,就可以對linux終端命令行顏色進行個性化設置了。比如要設置命令行的格式為綠字黑底,顯示當前用戶的賬號名稱、主機的第一個名字、完整的當前工作目錄名稱、24小時格式時間,就可以使用如下的命令:

  #PS1=‘[\[\e[32;40m\]\u@\h \w \t]$ ‘

4. 以筆者的~/.bashrc配置為例:

[root@~]# cat ~/.bashrc 
# .bashrc
 
# User specific aliases and functions
export PS1=‘[\[\e[32;40m\]\u@\w]\$ ‘
 
# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

5. 修改完成後重新加載下~/.bashrc即可生效:

Linux修改Shell命令提示符及顏色