linux下PS1命令提示符设置

作者: fanbo | 来源:发表于2016-12-12 14:57 被阅读926次

    PS1是用来设置命令提示符的环境变量,可以在终端输入:

    echo $PS1
    

    来查看当前的设置。比如我安装的Ubuntu 16.04输入上述命令得到如下输出:

    ${debian_chroot:+($debian_chroot)}\u@\h:\w\$
    

    效果图如下所示:

    origin.png

    这样的命令提示不美观,而且当我们输入的linux命令得到很多输出的时候我们很难找到命令提示符在哪里,所以可以通过设置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时,提示符为:# ,普通用户则为:$
    

    我们可以通过颜色代码来修饰上述这些组件,颜色代码的格式为\[\e[F;Bm\],其中F表示字体的颜色,编号3037,B表示背景的颜色,编号4047。

    颜色表如下:

    字体代码 背景代码 颜色
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫红色
    36 46 青蓝色
    37 47 白色

    根据以上说明,我配置的PS1如下所示(我直接在.bashrc中进行配置的,这样每次打开终端都会出现配置的效果):

    export PS1="\[\e[32;1m\][\[\e[33;1m\]\u\[\e[31;1m\]@\[\e[33;1m\]\h \[\e[36;1m\]\w\[\e[32;1m\]]\[\e[34;1m\]\$ \[\e[0m\]"
    

    效果图如下:

    demo.png

    说明:

    1. 这里1m背景色是近似透明的。
    2. 注意在$符号输出之后,我们还要重置颜色为透明,也就是\[\e[0m\],这样你输入的命令就不会受之前颜色设置的影响。

    相关文章

      网友评论

      • 宇辰星君:export PS1="\[\e[32;1m\]\d\[\e[0m\] \[\e[31;40m\]\u\[\e[0m\] \[\e[33;40m@\]\h\[\e[0m\] \[\e[36;1m\]\t\[\e[0m\] \[\e[34;1m\][\[\e[0m\]\[\e[\]]\[\e[0m\]\n\[\e[32;1m\]\$\[\e[0m\]"
      • hellowenqi:简洁明了!

      本文标题:linux下PS1命令提示符设置

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