1. 说明:
在Shell下,我们可以拥有更加色惨斑斓的提示行信息,这可以通过改变bash的$PS1环境变量还设置,如下面就是提示行的一种:
user@host$
root用户的提示是这样的:
user$host#
2. 提示行的转义字符:
序列 说明 \a ASCII 响铃字符(也可以键入 \007) \d "Wed Sep 06" 格式的日期 \e ASCII 转义字符(也可以键入 \033) \h 主机名的第一部分(如 "mybox") \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 小时制时间 \u 用户名 \v bash 的版本(如 2.04) \V Bash 版本(包括补丁级别) \w 当前工作目录(如 "/home/drobbins") \W 当前工作目录的“基名 (basename)”(如 "drobbins") \! 当前命令在历史缓冲区中的位置 \# 命令编号(只要您键入内容,它就会在每次提示时累加) \$ 如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#" \xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符 \\ 反斜杠 \[ 这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行。 \] 这个序列应该出现在非打印字符序列之后。
3. 颜色设置:
颜色设置可用以下格式表示:
" \[\e[F;B;Cm\]"
其中,\[与\]是保证其内的非打印字符不占用行上的任何空间,这样就能使自动换行后的颜色设置正常工作了;
\e[与m之间的内容表示设置颜色,F是前景色,B是背景色,C是代码多个颜色用分号隔开,但F、B、C顺序可变,这是因为他们的数值不冲突。
特殊的颜色设置格式:
"\e[0m"、"\e[m"都是通知终端将颜色(前景、背景、加粗)设置重置为默认。
4. 颜色与代码表:
颜色表:
前景 背景 颜色 --------------------------------------- 30 40 黑色 31 41 紅色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色
代码表:
代码 意义 ------------------------- 0 OFF 1 高亮显示 4 underline 5 闪烁 7 反白显示 8 不可见
5. 最终设置:
将PS1环境变量的设置放在.bashrc或.bash_profile中即可。
下面是一种提示行的设置:
c_1="\[\e[0m\]" c0="\[\e[30m\]" c1="\[\e[31m\]" c2="\[\e[32m\]" c3="\[\e[33m\]" c4="\[\e[34m\]" c5="\[\e[35m\]" c6="\[\e[36m\]" c7="\[\e[37m\]" PS1="$c0***** $c1\w $c2*** $c3<\u@\h> $c4***** $c5\! $c6***** $c7\t $c1***\n$c2\$ $c_1"; export PS1
参考:http://moosewoler.blog.163.com/blog/static/69866052007112201148505/