首先看一下原本的设来了提示符样子。
在ubuntu feisty的~/.bashrc配置文件里面, 最初的定义是这样的。
# set a fancy prompt (non-color, unless we know we “want” color)
case “$TERM” in
xterm-color)
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
'
;;
*)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
;;
esac
我们只看这一行:
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
环境变量:
注释:其中${xxxx}是个变量, \u代表目前的用户,\h代表主机名,
\w代表工作路径,\$是‘$‘(\是转义符号,可以使用诸如\n,\t之类的)
颜色代码:
[\033[01;32m\]是一个标准的颜色代码,由一个半中括号构成。其中第二个‘[’后面是标准的ANSI颜色码。共有约二十种样式/颜色提供,详细信息请google.
我的shell提示符是这样的:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[01;35m\]@\[\033[01;36m\]\h\[\033[00m\]:\[\033[01;34m\]\w\n\[\033[01;39m\]$?\[\033[01;38m\]\$
'
具体意义是:当前的username由01;32m定义—绿色,同理@用红色,主机名用另一种颜色展示.然后显示当前目录并换行(之所以换行是因为有些目录很长),然后显示上一次操作的结果.1,2,3等可能表示一些常规的错误或者失败,具体的意义还不清楚.
[$?返回上一次操作的返回码,0表示成功]
该文于2007-10-10被赛迪网发布,遂被多处引用.但作者居然赫然写着:sixth. TNND,看来得写个版权声明了.