Shell 提示符中用到的转义字符
- \a 以 ASCII 格式编码的铃声 . 当遇到这个转义序列时,计算机会发出嗡嗡的响声。
- \d 以日,月,天格式来表示当前日期。例如,“Mon May 26.”
- \h 本地机的主机名,但不带末尾的域名。
- \H 完整的主机名。
- \j 运行在当前 shell 会话中的工作数。
- \l 当前终端设备名。
- \n 一个换行符。
- \r 一个回车符。
- \s shell 程序名。
- \t 以24小时制,hours:minutes:seconds 的格式表示当前时间.
- \T 以12小时制表示当前时间。
- \@ 以12小时制,AM/PM 格式来表示当前时间。
- \A 以24小时制,hours:minutes 格式表示当前时间。
- \u 当前用户名。
- \v shell 程序的版本号。
- \V Version and release numbers of the shell.
- \w 当前工作目录名。
- \W 当前工作目录名的最后部分。
- \! 当前命令的历史号。
- \# 当前 shell 会话中的命令数。
- \\$ 这会显示一个"$"字符,除非你拥有超级用户权限。在那种情况下, 它会显示一个"#"字符。
- \[ 标志着一系列一个或多个非打印字符的开始。这被用来嵌入非打印 的控制字符,这些字符以某种方式来操作终端仿真器,比方说移动光标或者是更改文本颜色。
- \] 标志着非打印字符序列结束
用转义序列来设置文本颜色
- \033[0;30m 黑色 \033[1;30m 深灰色
- \033[0;31m 红色 \033[1;31m 浅红色
- \033[0;32m 绿色 \033[1;32m 浅绿色
- \033[0;33m 棕色 \033[1;33m 黄色
- \033[0;34m 蓝色 \033[1;34m 浅蓝色
- \033[0;35m 粉红 \033[1;35m 浅粉色
- \033[0;36m 青色 \033[1;36m 浅青色
- \033[0;37m 浅灰色 \033[1;37m 白色
用转义序列来设置背景颜色
- \033[0;40m 蓝色 \033[1;44m 黑色
- \033[0;41m 红色 \033[1;45m 粉红
- \033[0;42m 绿色 \033[1;46m 青色
- \033[0;43m 棕色 \033[1;47m 浅灰色
例: PS1='[\033[0;31m]<\u@\h \W>\$[\033[0m]'
注意:除了正常的 (0) 和黑体 (1) 字符属性之外,文本也可以具有下划线 (4),闪烁 (5)等属性。
为了拥有好品味,许多终端仿真器拒绝使用这个闪烁属性。
光标移动转义序列
- \033[l;cH 把光标移到第 l 行,第 c 列。
- \033[nA 把光标向上移动 n 行。
- \033[nB 把光标向下移动 n 行。
- \033[nC 把光标向前移动 n 个字符。
- \033[nD 把光标向后移动 n 个字符。
- \033[2J 清空屏幕,把光标移到左上角(第零行,第零列)。
- \033[K 清空从光标位置到当前行末的内容。
- \033[s 存储当前光标位置。
- \033[u 唤醒之前存储的光标位置。
例:
PS1='[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u]<\u@\h \W>\$ '
每次当这个提示符出现的时候,会在屏幕的上方画出一个 包含时钟(由黄色文本渲染)的红色长条。