Skip to main content

定制 Bash 提示符样式

1. PS1 变量

Bash 的提示符样式由环境变量 PS1 决定。使用 echo $PS1 可以查看当前提示符样式。

PS1 中可以使用以下变量:

  • \u:用户名;
  • \h:仅取主机的第一个名字;
  • \W:利用 basename 取得工作目录名称,所以只会列出最后一个目录;
  • \w:完整的工作目录名称;
  • $:提示字符,如果是 root 时,提示符为:# ,普通用户则为:$
  • \d:代表日期,格式为 weekday month date,例如:Mon Aug 1
  • \H:完整的主机名称;
  • \h:取主机的第一个名字;
  • \T:显示时间为 24 小时格式,如:HH:MM:SS
  • \t:显示时间为 12 小时格式 , 如:HH:MM:SS
  • \A:显示时间为 12 小时格式:HH:MM;
  • \v:Bash 的版本信息;
  • #:下达的第几个命令。

2. 设置颜色

PS1 中设置字符颜色的格式为:[\e[F;Bm],其中 F 为字体颜色,编号为 30-37,B 为背景颜色,编号为 40-47。

颜色:

颜色前景色背景色
黑色3040
红色3141
绿色3242
黄色3343
蓝色3444
紫红色3545
青蓝色3646
白色3747

特殊显示:

数值作用
0OFF,关闭颜色
1高亮显示
4显示下划线
5闪烁显示
7反白显示
8颜色不可见

3. 设置提示符样式

PS1=[\u@\h \W]\$

修改为

PS1='\[\e[32;8m\][\u@\h \W]\$\[\e[0m\]'