bash的命令提示符和终端外观由环境变量PS1定义
PS1 在每个命令之前显示的主提示符,因此它是每个人都不同的。 PS2 当一个命令需要更多的输入(例如,一个多行命令)中显示的辅助提示。 PS3 不是很常用。 PS4 也是不常用。
PS1格式
\u 表示用户(username); \h 表示主机(hostname); \w 表示当前工作目录(directory); \$ 如果您不是超级用户 (非root),则插入一个 "$";如果您是超级用户(root),则显示一个 "#"。 \[ 这个字符应该出现在不占位转义字符(如颜色转义字符)之前,它使bash能够正确计算自动换行; \] 这个字符应该出现在不占位转义字符(如颜色转义字符)之后; \e ASCII转义字符序列开始(也可以键入 \033); \a ASCII响铃字符(也可以键入 \007); \d "Wed Sep 06"格式的日期; \H 主机的全称(如 "mybox.mydomain.com"); \j 在此shell中通过按 ^Z挂起的进程数; \l 此shell的终端设备名 (如"ttyp4"); \n 换行符; \r 回车符; \s shell的名称(如 "bash"); \t 24小时制时间(如 "23:01:01"); \T 12小时制时间(如 "11:01:01"); \@ 带有 am/pm的 12小时制时间; \v bash的版本(如 2.04); \V Bash版本(包括补丁级别) ?/td>; \W 当前工作目录的“基名 (basename)”(如 "drobbins"); \! 当前命令在历史缓冲区中的位置; \# 命令编号(只要您键入内容,它就会在每次提示时累加); \xxx 插 入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII 字符; \\ 反斜 杠。
PS1配色方案
配色格式
以"\e["开始,"m"结束 (\e表示escape,八进制\033,下同)
\e[ X m
X
X可以分别由A、B、F或它们的组合表示,组合时由分号“;”分割
X <=> A(或B或F)
X <=> A;B;F(或B;A或其它任意方式,甚至可以A;B;F;A)
总之,后面的配置会影响前面的配置。如,F会影响A和B的配置
B为背景颜色,编号40~47
A为文本属性
F为字体颜色,编号30~37
关闭颜色输出
\e[00m
颜色、属性
背景颜色(B) | 文本属性(A) | 文本颜色(F) |
---|---|---|
40:黑色 | 00:重置文本和背景 | 30:黑色 |
41:红色 | 01:设置高亮度 | 31:红色 |
42:绿色 | 04:下划线 | 32:绿色 |
43:黄色 | 05:闪烁 | 33:黄色 |
44:蓝色 | 07:反显 | 34:蓝色 |
45:紫色 | 08:消隐 | 35:紫色 |
46:青色 | 36:青色 | |
47:白色 | 37:白色 |
说明
在一个X内,后面的A、B、F设置会影响前面的A、B、F设置,会直接影响此X的设置结果
在不同X之间,如先X1和后X2。X2只能影响到X1在X2之后的显示(即X2之后的内容由X1
和X2叠加共同作用),在X1到X2之间仍由X1显示,X2无法影响
我的
export CLICOLOR=1 # grep alias grep='grep --color=always' # '\u@\h:\w\$ ' export PS1='\[\e[0;31;07m\]\u\[\e[0;07m\]@\[\e[0;32;07m\]\h\[\e[0m\]:\[\e[0;36m\]\w\[\e[0m\]\$ '