tcsh, bash定制自己的提示符。

2009-05-13 15:00:38来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

这几天, 看 unix超级工具 一书, 上面提到 设置自己的提示符, 于是便对改变自己的shell提示符号起了兴趣, 想搞一个有意思的提示符。 以下 我便把我自己的经验写下来, 一来 做个笔记, 以便复习, 二来, 希望帮助 对这个话题有兴趣的人。
先说BASH:
    bash的提示符为 PS1 变量, 默认是 环境变量, 下面包含bash为用户在PS1中所使用的符号的一个完整列表:
\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 能够正确计算自动换行。  
\] 这个序列应该出现在非打印字符序列之后。  
我所使用的的提示符为 PS1="***** \w ***  ***** \! ***** \t ***\n\$ "
这个提示符, 我很喜欢, 应为他包含了我需要的足够信息如: 工作目录 用户名@机器名 命令编号 以及 时间, 但是他又不至于使 提示符 占用太长, 以至于没有多少空间留下来给 输入的命令, 注意看最后那个 \n 是个换行符, 故而 这是个 2行提示符, $ 独占一行, 留下足够的空间以便输入命令。
然而, 以上的提示符 不过 是我的“初稿”而已, 我还准备把它加上颜色, 使其更加醒目, 且 方便使用。 那么说到这里, 就不得不说一下终端的颜色使用了。(以下颜色是借鉴网上一篇文章而来)
颜色是通过在 PS1 中添加专用序列来选择的 -- 基本上是夹在 "\e["(转义开方括号)和 "m" 之间数字值。如果指定一个以上的数字代码,则用分号将它们分开。
下面是一个颜色代码示例:
"\e[0m"  
如果将数字代码指定为零,则它就会通知终端将前景、背景和加粗设置重置为它们的默认值。您可能会在提示行结束时使用这个代码,以使您键入的文字成为非彩色的。现在,让我们看一下这些颜色代码。请注意下面的抓屏结果:
  
颜色表  
前景             背景              颜色

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:我用FreeBSD--安装篇

下一篇:FreeBSD webmin