Bash 提示行色彩设置(PS1环境变量)
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 OFF1 高亮显示4 underline5 闪烁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/