Linux系统终端提示符的特征由系统环境变量PS1定义。通过命令``echo $PS1#39;#39;查看当前设置。PS1的值由一系列静态文本或\和转
Linux系统终端提示符的特征由系统环境变量PS1定义。通过命令``echo $PS1''查看当前设置。
PS1的值由一系列静态文本或\和转义字符序列组成,如:
PS1="\u@\H \w$ "
比较有用的转义序列有:
\e ASCII转义字符
\h 主机名
\H 完整的主机名
\l 终端设备名
\t 24小时制时间
\T 12小时制时间
\u 用户名
\w 当前工作目录(绝对路径)
\w 当前工作目录(basename)
\! 当前命令在历史缓冲区的位置
\$ 如果当前用户是super user,则插入字符#;否则插入字符$
\[ 出现在不移动光标的字符序列之前
\] 出现在非打印字符之后
总是面对黑低白字的屏幕不免让人生厌,我们可以通过设置PS1变量使提示符成为彩色。在PS1中设置字符序列颜色的格式为:
\[\e[F;Bm\]
其中``F''为字体颜色,编号30~37;``B''为背景色,编号40~47。
可通过``\e[0m''关闭颜色输出;特别的,,当B为1时,将显示加亮加粗的文字。
我认为这些就足够了。是时候动手定制一番了。现帖出我的设置:
if [ $TERM = 'linux' ]; then
export PS1="[\[\e[36;1m\]\u@\h \[\e[31;1m\]\w\[\e[32;1m\]]> "
zhcon --utf8
clear
elif [ $TERM = "xterm" ]; then
export PS1="[\[\e[31;1m\]\w\e[0m]> "
fi
-------------------