科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux系统下如何改进系统命令行工具 (2)

Linux系统下如何改进系统命令行工具 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:yuanyang 来源:赛迪网技术社区 2007年10月21日

关键字: 操作系统 命令行 改进 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

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

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

\a ASCII 响铃字符(也可以键入 \007);

\d "Wed Sep 06" 格式的日期;

\e ASCII 转义字符(也可以键入 \033);

\h 主机名的第一部分(如 "mybox");

\H 主机的全称(如 "mybox.mydomain.com");

\j 在此 shell 中通过按 ^Z 挂起的进程数;

\l 此 shell 的终端设备名(如 "ttyp4");

\n 换行符;

\r 回车符;

\s shell 的名称(如 "bash");

\t 24 小时制时间(如 "23:01:01");

\T 12 小时制时间(如 "11:01:01");

\@ 带有 am/pm 的 12 小时制时间;

\u 用户名;

\v bash 的版本(如 2.04);

\V Bash 版本(包括补丁级别) ;

\w 当前工作目录(如 "/home/drobbins");

\W 当前工作目录的“基名 (basename)”(如 "drobbins");

\! 当前命令在历史缓冲区中的位置;

\# 命令编号(只要您键入内容,它就会在每次提示时累加);

\$ 如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#";

\xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符;

\\ 反斜杠;

\[ 这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行;

\] 这个序列应该出现在非打印字符序列之后。

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章