bash PS1配色

bash的命令提示符和终端外观由环境变量PS1定义

PS1 在每个命令之前显示的主提示符,因此它是每个人都不同的。 
PS2 当一个命令需要更多的输入(例如,一个多行命令)中显示的辅助提示。
PS3 不是很常用。
PS4 也是不常用。

PS1格式

u 表示用户(username);
h 表示主机(hostname);
w 表示当前工作目录(directory);
$ 如果您不是超级用户 (非root),则插入一个 "$";如果您是超级用户(root),则显示一个 "#"。
[ 这个字符应该出现在不占位转义字符(如颜色转义字符)之前,它使bash能够正确计算自动换行;
] 这个字符应该出现在不占位转义字符(如颜色转义字符)之后;
e ASCII转义字符序列开始(也可以键入 33);
a ASCII响铃字符(也可以键入 07);
d "Wed Sep 06"格式的日期;
H 主机的全称(如 "mybox.mydomain.com");
j 在此shell中通过按 ^Z挂起的进程数;
l 此shell的终端设备名 (如"ttyp4");

 换行符;

 回车符;
s shell的名称(如 "bash");
	 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,八进制33,下同)
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]$ '
原文地址:https://www.cnblogs.com/iois/p/11665825.html