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                 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/

猜你喜欢

转载自rsljdkt.iteye.com/blog/1141561