免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1177 | 回复: 1
打印 上一主题 下一主题

我最喜爱的Bash Shell提示符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-30 05:28 |只看该作者 |倒序浏览
打开你的终端窗口,把下面这几行拷贝到命令行,回车,看看发生了什么。再然后切换一下目录,看看效果。

PS1='\[\e]1;My Desk\a\e]2;${PWD}\a\]\
\[\e[0;31m\]${PWD}\[\e[00m\]@\[\e[0;36m\]\h\n\
\[\e[00m\][\!]\$ '

如果你确实喜欢这样的提示符,把它加到你的.bashrc文件中,执行source .bashrc,立即生效。

这个提示符有以下几个特点:
1. 在终端的标题栏印出当前工作目录;
2。在命令行用红色印出当前工作目录,然后是用令一种颜色表示主机名@localhost;如果你经常会登录到其他不同的主机,@后面印出的是你登录的主机名;
3。换一行显示当前执行的命令号和提示符,使你可以方便地是使用!-2, !-5, !200等重复执行以前的命令;

几点说明:
1. ${PWD}是 Shell变量,表示当前工作目录;
2. 在标题栏打印当前目录的命令是 'e]1;My Desk\a\e]2;${PWD}\a',应为必须把它放在[ ]中,因此用了两次escape,变成 \[ \e]1;My Desk\a\e]2;${PWD}\a\ ]
3. \[\e[0;31m\]${PWD}表示用红色打印工作目录,其他颜色为:
red = '\[\e[0;31m\]'
RED = '\[\e[1;31m\]'
green = '\[\e[0;32m\]'
GREEN = '\[\e[1;32m\]'
blue = '\[\e[0;34m\]'
BLUE = '\[\e[1;34m\]'
cyan = '\[\e[0;36m\]'
CYAN = '\[\e[1;36m\]'
yellow = '\[\e[0;33m\]'
YELLOW = '\[\e[1;33m\]'
black = '\[\e[00m\]'       
4. \h 表示主机名(hostname)
5. \n 表示换行
6. \! 打印出命令序号

论坛徽章:
0
2 [报告]
发表于 2006-03-30 11:31 |只看该作者
我还是喜欢默认的,是用FB时也把shell换成bash,然后设成一样的提示符:
我觉得提示符的要具备以下特点:
1、简短
2、充分
3、易于区分
简短,不用说了。过长容易造成终端显示的不整洁,也让人眼花缭乱。
但是过于简单的提示符也容易让人混乱,所以提示符要紧可能的显示必要的信息。拿默认的来讲:用户名和主机名,主机名单机可能是恒定的,但是使用SSH时就带来了很大的方便(当然要求远程帐户的提示符也要设置得好)。相对路径,通常相对路径足以让用户知晓自己的位置,绝对路径会变得过长。影响终端的显示。权限标识,权限的表示会提示用户自己当前的权限,以避免很多不谨慎的操作。
易于区分里有很简单,不要和输出信息。
默认的提示符一般可以提供给我们足够的信息。有一条原则是,提示符尽量提示和本会话有关的信息。比如提示符通过定制可以显示时间等等。但多数用户可以很方便的获取时间,再放在提示符中就显得多余了。
另外提示符还要节省显示空间,我觉得cygwin默认的提示符就很不好。

[ 本帖最后由 gnap 于 2006-3-30 11:33 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP