首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:软路由 参考手册 开发工具
 → 当前位置:首页>linux基础>常用命令>正文

运用提示行命令让你在Linux下玩魔术

OKLinux www.oklinux.cn 2007-02-28 来源:oklinux收集整理 收藏本文

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

作为 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" 部分找到这个列表):

序列 说明
    \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 版本(包括补丁级别) ?/td>
    \w 当前工作目录(如 "/home/drobbins")
    \W 当前工作目录的“基名 (basename)”(如 "drobbins")
    \! 当前命令在历史缓冲区中的位置
    \# 命令编号(只要您键入内容,它就会在每次提示时累加)
    \$ 如果您不是超级用户 (root),则插入一个 "$";
    如果您是超级用户,则显示一个 "#"
    \xxx 插入一个用三位数 xxx(用零代替未使用的数字,
    如 "\007")表示的 ASCII 字符
    \\ 反斜杠
    \[ 这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。
    它使 bash 能够正确计算自动换行。
    \] 这个序列应该出现在非打印字符序列之后。

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

 

[1] [2] 下一页  

共6页: 上一页 1 [2] [3] [4] [5] [6] 下一页
上一篇:用Linux Command Shell模拟DOS命令   下一篇:LINUX常用的系统状态查询命令
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·LINUX常用的系统状态查询命令
·用Linux Command Shell模拟DOS命令
·Linux Netstat命令常用选项详细解析
·linux grep命令的使用
·Linux下常见文件解压方法及命令
·使用Mount bind时需要注意的权限问题
·Linux系统管理的内容及其常用命令
·使用netcat命令网络同步复制系统
·菜鸟给grub设密码的简单快速方法
·RedHat Linux 9键盘的快捷操作
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·Linux系统管理的内容及其
·Linux的常用网络命令
·Linux常见命令:Linux下的
·初学Linux必学60个命令文
·如何在Linux环境中模拟DOS
·经验与技巧:SUN系统维护
·Linux 系统命令精通指南(
·Solaris下的常用命令和使
·提高工作效率 设置命令提
·Linux操作技巧:VI的常见
最新文章
·Linux系统管理的内容及其
·使用Mount bind时需要注意
·Linux Netstat命令常用选
·LINUX常用的系统状态查询
·用Linux Command Shell模
·linux grep命令的使用
·Linux下常见文件解压方法
·菜鸟给grub设密码的简单快
·使用netcat命令网络同步复
·RedHat Linux 9键盘的快捷
·用sort 和tsort 对文件进
·浅谈FreeBSD 5.2常用操作
·Unix/BSD/Linux的口令机制
·使用lsof恢复误删的文件
·Linux 命令行下如何配置nV

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有
合作联系 QQ:18743986 Email:arlan8005#163.com