读书人

linux上term的提示符配置

发布时间: 2012-11-21 08:23:26 作者: rapoo

linux下term的提示符配置
直接在termial中修改PS1变量就可以改变当前环境的提示符,选到自己喜欢的就可以写进.bashrc文件了:
可以把任意文本写入提示符中:
> PS1=”This is my terminal:>”
This is my termianl:>
This is my termianl:> PS1=”GO$”
GO$
当然,这样尽管很好玩,但却不怎么实用,有时我们会想让提示符中显示一些提示的东西:
GO$ PS1=”\u@\h:>”
suse@suse:>
suse@suse:> PS1=”\u@\h:\w>”
suse@suse:~>
suse@suse:~> cd mywork
suse@suse:~/mywork>PS1="\e[32;40m\w> \e[0m"
这个定义将显示一个漂亮的绿色提示行,但仍需要做一些扫尾工作。有时我们不需要包括 "40" 这个背景颜色设置,因为它将背景设置为黑色,而黑色是默认颜色。此外,绿色还很暗;我们通过添加一个 "1" 颜色代码来修正这个问题,这将启用更亮的加粗文字。除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "\[" 和 "\]” 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。没有这两个转义序列,尽管我们有了一个非常漂亮的提示行,但是如果键入的命令恰好到达终端的最右端,就会造成显示混乱。下面是最终的提示行: 4 楼 xiuguo 2012-10-26 PS1=”\[\e[32;1m\]\w> \[\e[0m\]”
我们也不用担心在同一个提示行中使用几种颜色,就像下面这样(我的颜色配置):
PS1=\[\e[36;1m\]\u@suse:\[\e[32;1m\]\w\[\e[36;1m\]> \[\e[0m\]
但是,当我们把这个配置写入.bashrc文件后,会发现一个问题,那就是terminal的标题栏变成了一个永恒不变的“Termianl”了,这可能并不是我们希望的,默认的显示用户名、主机名和当前工作路径(我比较喜欢这个默认的哈),我们可能希望把他配回来。其实配置标题栏和上面说过的配置提示符内容差不多,只是要加上:
\e]2;…\a
中间省略号就可以加我们想让标题栏显示的内容了。
例如我们把 ”\e]2;This is my terminal:>\a” 加进PS1变量中(当然也需要用”\["和"\]“转义序列括起来),标题栏中就会显示 This is my terminal:>
我比较喜欢默认的方式哈,所以我就加进去了 “\e]2;\u@\h:\w\a”,最后配置完成的结果就是:
PS1=”\[\e]2;\u@\h:\w\a\]\[\e[36;1m\]\u@suse:\[\e[32;1m\]\w\[\e[36;1m\]> \[\e[0m\]” 5 楼 xiuguo 2012-10-26 http://wsunwind.blog.sohu.com/192388839.html

读书人网 >UNIXLINUX

热点推荐