快速业务通道

定制个性化的bash

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-20

  终于在 Sun Fire V890 上面装好 Solaris 10 u8 了,初次接触小型机,什么都觉得新鲜.

  长期使用Linux,对bash(bourne again shell)非常喜欢,但是是Solaris默认的是sh(bourne shell),登录后输入bash就可以很简单地切换到 bourne again shell ,但是如此机械的动作为什么不让机器去做呢?

  修改默认 shell 有很多种方法,一种是修改 /etc/passwd 文件:

  1 -bash-3.00# cat /etc/passwd

  2 root:x:0:0:Super-User:/:/bin/sh

  3 ...

  4 ...

  5 user:x:100:1::/home/user:/bin/sh

  用VI修改一下就可以了.

  另一种方法是使用 usermod 命令:

  1 -bash-3.00# usermod -s /bin/bash root

  2 UX: usermod: root is currently logged in, some changes may not take effect until next login.

  3 -bash-3.00# usermod -s /bin/bash user

  4 UX: usermod: user is currently logged in, some changes may not take effect until next login.

  5 -bash-3.00# cat /etc/passwd

  6 root:x:0:0:Super-User:/:/bin/bash

  7 ...

  8 ...

  9 user:x:100:1::/home/user:/bin/bash

  下次登陆就可以发现默认使用的就是 bash 了.

  默认情况下 bash 的 shell 提示符是:

  1 bash-3.00$

  2 bash-3.00#

  能“华丽”地表达出当前使用 bash 的版本和当前是不是 root 之外就没有别的信息了,可以参考这篇文章《技巧:提示行魔术》,里面介绍得非常详细.

  初级阶段,先定义初级的提示符:

  1 > export PS1="V890> "

  2 V890>

  3 V890> export PS1="Good Luck # "

  4 Good Luck #

  5 Good Luck # export PS1="> "

  6 >

  通过修改变量 PS1 即可改变提示符,但是这远远不够,毕竟现在的提示符是静态,我们需要动态的提示符,我们看看以下这个转意表:

  01 a ASCII 响铃字符(也可以键入 07)

  02 d "Wed Sep 06" 格式的日期

  03 e ASCII 转义字符(也可以键入 33)

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

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

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

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

  08 n 换行符

  09 r 回车符

  10 s shell 的名称(如 "bash")

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

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

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

  14 u 用户名

  15 v bash 的版本(如 2.04)

  16 V Bash 版本(包括补丁级别) ?/td>

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

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

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

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

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

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

  23 \ 反斜杠

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

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

  通常来说,我希望通过提示符,第一眼就可以看到我当前是什么用户,在哪台服务器,和当前

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号