Linux如何改进系统命令行工具

发表于:2011-11-08 10:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  如果您很容易使 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")

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号