Linux shell命令提示符
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-07
容易;第一步是设计不带颜色的提示行.然后,我们所要做的只是添加终端(而不是 bash)可识别的专用转义序列,以使它以彩色显示文本的某些部分.标准 Linux 终端和 X 终端允许您设置前景(文字)颜色和背景颜色,如果需要,还可以启用 "bold" 字符.有八种颜色可供我们选择.
颜色是通过在 PS1 中添加专用序列来选择的 -- 基本上是夹在 "e["(转义开方括号)和 "m" 之间数字值.如果指定一个以上的数字代码,则用分号将它们分开.下面是一个颜色代码示例:
"e[0m"
如果将数字代码指定为零,则它就会通知终端将前景、背景和加粗设置重置为它们的默认值.您可能会在在提示行结束时使用这个代码,以使您键入的文字成为非彩色的.现在,让我们看一下这些颜色代码.请注意下面的抓屏结果:
要使用这个表,![]()
变为: export PS1="e[32;40mw> " 到现在为止,提示行尽管已经很不错了,但仍不太完美.在 bash 显示出工作目录以后,我们需要使用 "e[0m" 序列将颜色重新设置为正常值. export PS1="e[32;40mw> e[0m" 这个定义将显示一个漂亮的绿色提示行,但我们仍需要做一些扫尾工作.我们不需要包括 "40" 这个背景颜色设置, ![]() 我已说明了如何在提示行中添加信息和颜色,但您还可以更进一步.您可以通过在提示行中添加专用代码来使 X 终端(如 rxvt 或 aterm)的标题栏得到动态更新.您所要做的只是将下面的序列添加到您的 PS1 提示行中: "e]2;titlebara" 只须用您希望其出现在 xterm 标题栏中的文字替换子串 "titlebar" 即可,现在已经一切就绪了!不必使用静态文字;您可以将 bash 转义序列插入标题栏中.请查看下面这个示例,它将用户名、主机名和当前工作目录显示在标题栏中,并定义了一个简短、明亮的绿色提示行: export PS1="[e]2;u@H wae[32;1m]>[e[0m] " 这就是我在上面的抓屏结果中所用的那个提示行.我喜欢这个提示行, ![]() ![]()
if [ "$TERM" = "linux" ] then #we''re on the system console or maybe telnetting in export PS1="[e[32;1m]u@H > [e[0m]" else #we''re not on the console, assume an xterm export PS1="[e]2;u@H wae[32;1m]>[e[0m] " fi 这个 bash 条件语句将根据当前的终端设置动态设置提示行.为了获得 |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: linux管理软件命令下一篇: linux系统Qt实现简单的任务管理器
关于Linux shell命令提示符的所有评论