设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> Linux应用技巧 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
如何判定你是否具备有学…
Linux如何显示FAT等分区…
如何自动登录linux
Linux系统中如何让程序开…
Linux系统下如何查看已经…
FreeBSD如何通过代理上网…
Linux笔记本如何延长电池…
如何制作Linux操作系统下…
如何在Linux系统下用DMA…
如何在RedHatLinux中使用…
  如何改进系统命令行工具         
如何改进系统命令行工具
 

如果您很容易使 shell 提示行变得色彩绚烂且带有更多信息,为什么还要坚持用烦人的标准提示行呢?在这篇技巧中,Daniel Robbins 将说明如何获得符合您的意愿的 shell 提示行,并会说明如何动态更新 xterm 的标题栏。

作为 Linux/UNIX 人,我们有很长的时间是在 shell 中工作,并且在许多情况下,下面这一行就是始终盯着我们的那个提示行:



bash-2.04$


如果您恰巧是超级用户 (root),您就有权使用下面这个美丽的标示“身份”的提示行版本:



bash-2.04#


这些提示行并不是十分漂亮。这也就难怪几种 Linux 版本对默认提示行进行了升级,在其中增加了颜色和更多的信息。但是,即便您恰好有一个本身带有很好的彩色提示行的新式版本,它也不可能是完美无缺的。您或许希望在提示行中增加或更改几种颜色,或者增加(或删除)一些信息。从头开始设计属于您自己的彩色的、经过装饰的提示行并不难。

提示行基础

在 bash 下,可以通过更改 PS1 环境变量的值来设置提示行,如下所示:



$ export PS1="> "

>


更改会立即生效,通过将 "export" 定义放在您的 ~/.bashrc 文件中可将这种更改固定下来。只要您愿意,PS1 可以包含任意数量的纯文本:



$ export PS1="This is my super prompt > "

This is my super prompt >


尽管这很有趣,但在提示行中包含大量静态文本并不是特别有用。大多数定制的提示行包含诸如用户名、工作目录或主机名之类的信息。这些花絮信息可以帮助您在 shell 世界中遨游。例如,下面的提示行将显示您的用户名和主机名:



$ export PS1="\u@\H > "

drobbins@freebox >


这个提示行对于那些以多个不同名称的帐户登录多台机器的人尤为有用,因为它可以提醒您:您目前在哪台机器上操作,拥有什么权限。

在上面的示例中,我们使用了专用的用反斜杠转义的字符序列,藉此通知 bash 将用户名和主机名插入提示行中,当这些转义字符序列出现在 PS1 变量中时,bash 就会用特定的值替换它们。我们使用了序列 "\u"(表示用户名)和 "\H"(表示主机名的第一部分)。下面是 bash 可识别的全部专用序列的完整列表(您可以在 bash man page 的 "PROMPTING" 部分找到这个列表):

序列 说明 \aASCII 响铃字符(也可以键入 \007)\d"Wed Sep 06" 格式的日期\eASCII 转义字符(也可以键入 \033)\h主机名的第一部分(如 "mybox")\H主机的全称(如 "mybox.mydomain.com")\j在此 shell 中通过按 ^Z 挂起的进程数\l此 shell 的终端设备名(如 "ttyp4")\n换行符\r回车符\sshell 的名称(如 "bash")\t24 小时制时间(如 "23:01:01")\T12 小时制时间(如 "11:01:01")\@带有 am/pm 的 12 小时制时间\u用户名\vbash 的版本(如 2.04)\VBash 版本(包括补丁级别) ?/td>\w当前工作目录(如 "/home/drobbins")\W当前工作目录的“基名 (basename)”(如 "drobbins")\!当前命令在历史缓冲区中的位置\#命令编号(只要您键入内容,它就会在每次提示时累加)\$如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"\xxx插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符\\反斜杠\[这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行。\]这个序列应该出现在非打印字符序列之后。

这样,您已经知道了 bash 中用反斜杠转义的全部专用序列。请稍微演练一下这些序列,以对它们的工作方式获得一些感性认识。在您做了一些测试之后,下面开始添加颜色。

彩色化

添加颜色相当容易;第一步是设计不带颜色的提示行。然后,我们所要做的只是添加终端(而不是 bash)可识别的专用转义序列,以使它以彩色显示文本的某些部分。标准 Linux 终端和 X 终端允许您设置前景(文字)颜色和背景颜色,如果需要,还可以启用 "bold" 字符。有八种颜色可供我们选择。
Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-3 0:27:44
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持