Linux设置shell提示符的方法

转自: http://www.linuxsong.org/2010/09/setup-shell-prompt/

PS1的值由一系列静态文本或\和转义字符序列组成,如:

PS1="\u@\H \w$ "

比较有用的转义序列有:

\a ASCII 响铃字符(也可以键入 \007)

\d "Wed Sep 06" 格式的日期

\e ASCII转义字符

\h 主机名

\H 完整的主机名

\j 在此 shell 中通过按 ^Z 挂起的进程数

\l 此 shell 的终端设备名(如 "ttyp1")

\n 换行符

\r 回车符

\s shell 的名称(如 "bash")

\t 24小时制时间

\T 12小时制时间

\@ 带有 am/pm 的 12 小时制时间

\v bash 的版本(如 2.04)

\V Bash 版本(包括补丁级别)

\u 用户名

\w 当前工作目录(绝对路径)

\w 当前工作目录(basename)

\! 当前命令在历史缓冲区的位置

\$ 如果当前用户是super user,则插入字符#;否则插入字符$

\\ 反斜杠

\[ 出现在不移动光标的字符序列之前

\] 出现在非打印字符之后

\xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符

我们可以通过设置PS1变量使提示符成为彩色。在PS1中设置字符序列颜色的格式为:

\[\e[F;Bm\]

其中``F''为字体颜色,编号30~37;``B''为背景色,编号40~47。

可通过``\e[0m''关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,详细请看下面的颜色表与代码表。

颜色表

前景 背景 颜色

---------------------------------------

30 40 黑色

31 41 紅色

32 42 綠色

33 43 黃色

34 44 藍色

35 45 紫紅色

36 46 青藍色

37 47 白色

代码 意义

-------------------------

0 OFF

1 高亮显示

4 underline

5 闪烁

7 反白显示

8 不可见

如果想要设置终端提示符的样式只要把$PS1在~/.bashrc指定即可比,比如我的设置如下:

PS1="\[\e[32m\][\u@\h \w]$\[\e[m\]"

export PS1

效果:

[LinuxSong@test ~]$