1.linux 用戶登錄過程中 相關文件執行順序:
/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]
2.使用PS1 改變shell命令提示符和顏色
默認的PS1(可通過echo $PS1獲得)值為: [\u@\h \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
顏色如下:
0 重新設置屬性到缺省設置
1 設置粗體
2 設置一半亮度(模擬彩色顯示器的顏色)
4 設置下划線(模擬彩色顯示器的顏色)
5 設置閃爍
7 設置反向圖象
22 設置一般密度
24 關閉下划線
25 關閉閃爍
27 關閉反向圖象
30 設置黑色前景
31 設置紅色前景
32 設置綠色前景
33 設置黃色前景
34 設置藍色前景
35 設置紫色前景
36 設置青色前景
37 設置白色前景
38 在缺省的前景顏色上設置下划線
39 在缺省的前景顏色上關閉下划線
40 設置黑色背景
41 設置紅色背景
42 設置綠色背景
43 設置黃色背景
44 設置藍色背景
45 設置紫色背景
46 設置青色背景
47 設置白色背景
49 設置缺省黑色背景
其他有趣的代碼還有:
\033[2J 清除屏幕
\033[0q 關閉所有的鍵盤指示燈
\033[1q 設置“滾動鎖定”指示燈 (Scroll Lock)
\033[2q 設置“數值鎖定”指示燈 (Num Lock)
\033[3q 設置“大寫鎖定”指示燈 (Caps Lock)
\033[15:40H 把關閉移動到第15行,40列
\007 發蜂鳴生beep
4.設置shell提示符顏色,可以在全局shell生效,也可以為單個用戶設置,取決於在那個bashrc中
下面為了區分root用戶和普通用戶,我在/etc/bashrc下設置
if [ $USER == "root" ]; then
export PS1='[\[\e[33;49m\]\u@\H \w]\$'
else
export PS1='[\[\e[32;49m\]\u@\H \w]\$'
fi
也可起設置多個顏色
判斷root ,顯示為紅色,普通用戶為綠色,並記錄path
if [ $USER == "root" ];then
PS1='[\[\e[31m\]\u\[\e[m\]@\[\e[33m\]\H \[\e[m\]\w]\$'
else
PS1='[\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\H \[\e[m\]\w]\$'
fi
還可以記錄命令條數
if [ $USER == "root" ];then
PS1='\[\e[35m\]|\#|\[\e[m\][\[\e[31m\]\u\[\e[m\]@\[\e[33m\]\H \[\e[m\]\w]\$'
else
PS1='\[\e[35m\]|\#|\[\e[m\][\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\H \[\e[m\]\w]\$'
fi