文章

bash提示符

介绍bash的提示符PS1。

bash提示符

PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数

获取PS1

在终端输入命令

1
echo $PS1

可以得到当前的PS1的定义值

1
PS1='[\u@\h \w]\$ '

PS1常见的参数:

  • \d : 代表日期,格式为weekday month date,例如:”Mon Aug 1”
  • \D : D{format},format会作为参数传给strftime(),返回的结果将插入提示符,大括号是必须的
  • \h : 仅取主机名中的第一个名中
  • \H : 完整的主机名称
  • \j : 通过当前shell在后端运行的进程数
  • \l : 此shell的终端设备名basename
  • \s : shell的名称
  • \t : 显示24小时格式时间,如:HH: MM: SS
  • \T : 显示时间为12小时格式 HH: MM: SS
  • \@ : 显示时间,格式为:HH:MM 上午/下午
  • \A : 显示时间为24小时格式:HH: MM
  • \u : 当前用户的账号名称
  • \v : BASH的版本信息,例如2.00
  • \V : BASH的发布版本号,例如2.00.0
  • \w : 完整的工作目录名称
  • \W : 利用basename取得工作目录名称,只显示最后一个目录名
  • \! : 当前命令在历史命令缓冲区中的序号
  • \# : 下达的第几个命令
  • \$ : 提示字符,root用户为#
  • \# : 在history中的命令编号,从1开始

颜色设置

格式:

\033[F;Bm]

常见字符:

  • \033[0m 关闭所有属性
  • \033[1m 高亮
  • \033[2m 亮度减半
  • \033[3m 斜体
  • \033[4m 下划线
  • \033[5m 闪烁
  • \033[6m 快闪
  • \033[7m 反显,前景和背景交换
  • \033[8m 消隐
  • \033[9m 中间一道横线
  • 10-19 关于字体的
  • 20 尖角体
  • 21-29 基本与1-9正好相反,为关闭状态
  • 30 前景黑
  • 31 前景红
  • 32 前景绿
  • 33 前景黄
  • 34 前景蓝
  • 35 前景紫红色
  • 36 前景青蓝色
  • 37 前景白色
  • 38 默认前景颜色,打开下划线
  • 39 默认前景颜色,关闭下划线
  • 40 背景黑
  • 41 背景红
  • 42 背景绿
  • 43 背景黄
  • 44 背景蓝
  • 45 背景紫红
  • 46 背景青蓝
  • 47 背景白色
  • 48 设置背景色
  • 49 默认背景色
  • 53 上划线
  • 55 关闭上划线
  • 90 前景亮黑
  • 91 前景亮红
  • 92 前景亮绿
  • 93 前景亮黄
  • 94 前景亮蓝
  • 95 前景亮品红
  • 96 前景亮青
  • 97 前景亮白
  • 100 背景亮黑
  • 101 背景亮红
  • 102 背景亮绿
  • 103 背景亮黄
  • 104 背景亮蓝
  • 105 背景亮品红
  • 106 背景亮青
  • 107 背景亮白
  • \033[nA 光标上移n行
  • \033[nB 光标下移n行
  • \033[nC 光标右移n行
  • \033[nD 光标左移n行
  • \033[y;xH设置光标位置
  • \033[2J 清屏
  • \033[K 清除从光标到行尾的内容
  • \033[s 保存光标位置
  • \033[u 恢复光标位置
  • \033[?25l 隐藏光标
  • \033[?25h 显示光标

示例

1
2
3
4
5
6
7
CYAN='\[\033[01;36m\]'
BLUE='\[\033[01;34m\]'
BROWN='\[\033[0;33m\]'
GREEN='\[\033[0;32m\]'
NORMAL='\[\033[00m\]'

PS1='${debian_chroot:+($debian_chroot)}'${CYAN}'\u@\h[\t]'${NORMAL}':'${BLUE}'\w'${NORMAL}''${BROWN}'$(parse_git_branch)'${GREEN}'$(parse_git_modified_files)'${NORMAL}'\$ '
本文由作者按照 CC BY 4.0 进行授权