美文网首页LINUX学生会Linux_System
修改linux中shell命令提示符

修改linux中shell命令提示符

作者: fengkaipeng | 来源:发表于2017-05-18 12:02 被阅读49次
    改变命令提示符格式

    命令提示符环境变量为PS1,我们可以先看一下默认格式:
    # echo $PS1
    显示结果为

    [root@cent6 ~]#echo $PS1
    [\u@\h \W]\$
    

    其中其中PS1常用的参数含义如下:

    \d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"
    \H :#完整的主机名称
    \h :#仅取主机的第一个名字
    \t :#显示时间为24小时格式,如:HH:MM:SS
    \T :#显示时间为12小时格式
    \A :#显示时间为24小时格式:HH:MM
    \u :#当前用户的账号名称
    \v :#BASH的版本信息
    \w :#完整的工作目录名称
    \W :#利用basename取得工作目录名称,所以只会列出最后一个目录
    # :#下达的第几个命令
    $ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

    比如,给命令提示符加个24小时格式的时间:
    #PS1="[\u@\h \W \t]\$"
    显示为

    [root@cent6 ~ 10:13:13]#
    

    加上版本信息:

    [root@cent6 ~ 10:13:13]#PS1="[\u@\h \W \v]\\$"
    [root@cent6 ~ 4.1]#
    

    添加颜色

    PS1中设置字符颜色的格式为:[\e[F;Bm],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。颜色表如下:

    F B color
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫红色
    36 46 青蓝色
    37 47 白色

    可以到/etc/DIR_COLORS文件中查看对照的颜色
    比如,要显示绿色字体,北京为蓝色,可以写为:
    #PS1="[[\e[32;44m]\u@\h \W]\$"


    设置启动脚本

    PS1命令可以设置当前shell的命令提示符,是shell中的一个功能,但是shell也是一个程序,有进程的生命周期,他会随着进程生命周期结束而将保存在内存中的数据丢失,如果想保存配置,需要将赋值保存在文件中,shell环境配置文件分文两类:

    • profile类:为交互式登录的shell提供配置,交互式登录为直接通过某终输入账号密码登录打开的shell进程或使用su - USERNAME执行的登录切换;他的读取次序为: /etc/profile-->/etc/profile.d/*-->/bash.profile-->/.bahrc-->/etc/bashrc
    • bashrc类:为非交互式登陆的shell提供配置,非交互为su USERNAME执行的用户登录切换,读取次序为:~/.bashrc -->/etc/bashrc -->/etc/profile.d/*

    所以,将赋值写到以上的脚本中,开机后会自动读取配置,这样就将配置保存下来了,过程如下:
    #cd /etc/profile.d/
    #echo "export PS1="[[\e[32;44m]\u@\h \W]$" > ps.sh
    #chmod +x ps.sh

    相关文章

      网友评论

      本文标题:修改linux中shell命令提示符

      本文链接:https://www.haomeiwen.com/subject/aplsxxtx.html