如果您很容易使shell 提示行变得色彩绚烂斓且带有更多信息, 为什么还要坚持用单调的标准 shell 提示行呢?在这篇技巧中,Daniel Robbins 将说明如何获得符合您的意愿的shell 提示行,并会说明如何动态更新 X 终端的标题栏。
作为 Linux/Unix 人,我们有很长的时间是在 shell 中工作,并且在许多情况下, 下面这一行就是始终盯着我们的那个提示行:
|
如果您恰巧是超级用户 (root),您就有权使用下面这个美丽的标示“身份”的提示行版本:
|
这些提示行并不是十分漂亮。这也就难怪几种 Linux 版本对默认提示行进行了升级, 在其中增加了颜色和更多的信息。但是,即便您恰好有一个本身带有很好的彩色提示行的新式版本,它也不可能是完美无缺的。您或许希望在提示行中增加或更改几种颜色,或者增加(或删除)一些信息。从头开始设计属于您自己的彩色的、经过装饰的提示行并不难。
提示行基础
在 bash 下,可以通过更改 PS1 环境变量的值来设置提示行,如下所示:
|
更改会立即生效,通过将 "export" 定义放在您的 ~/.bashrc 文件中可将这种更改固定下来。只要您愿意,PS1 可以包含任意数量的纯文本:
|
尽管这很有趣,但在提示行中包含大量静态文本并不是特别有用。大多数定制的提示行包含诸如用户名、工作目录或主机名之类的信息。 这些花絮信息可以帮助您在 shell 世界中遨游。例如,下面的提示行将显示您的用户名和主机名:
|
这个提示行对于那些以多个不同名称的帐户登录多台机器的人尤为有用,因为它可以提醒您:您目前在哪台机器上操作,拥有什么权限。
在上面的示例中,我们使用了专用的用反斜杠转义的字符序列,藉此通知 bash 将用户名和主机名插入提示行中,当这些转义字符序列出现在 PS1 变量中时,bash 就会用特定的值替换它们。我们使用了序列 "\u"(表示用户名)和 "\H"(表示主机名的第一部分)。下面是bash 可识别的全部专用序列的完整列表(您可以在 bash man page 的 "PROMPTING" 部分找到这个列表):
|
这样,您已经知道了 bash 中用反斜杠转义的全部专用序列。请稍微演练一下这些序列,以对它们的工作方式获得一些感性认识。在您做了一些测试之后,下面开始添加颜色。
[1] [2] 下一页