定制个性化的bash
终于在 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |