linux环境下PS1变量配置

Posted xiaobingzzh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux环境下PS1变量配置相关的知识,希望对你有一定的参考价值。

我的ps1命令提示符:PS1="\[\e[32;40m\][ \[\e[32;40m\]\u \[\e[32;40m\]>>\h \[\e[32;40m\]\w \[\e[36;40m\](\A) \[\e[32;40m\]] \[\e[0m\]\$"

1. 设置ps1变脸的显示

    PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,你可以先man bash 一下。下面是FC4环境下默认的特殊符号所代表的意义:

    \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"

    \H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

    \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

    \t :显示时间为24小时格式,如:HH:MM:SS

    \T :显示时间为12小时格式

    \A :显示时间为24小时格式:HH:MM

    \u :当前用户的账号名称

    \v :BASH的版本信息

    \w :完整的工作目录名称。家目录会以 ~代替

    \W :利用basename取得工作目录名称,所以只会列出最后一个目录

    \# :下达的第几个命令

    \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

    默认的PS1内容为: PS1=‘[\[email protected]\h \W]\$ ‘ ,所以默认的提示符就是: [[email protected] ~]#。

  PS:此部分内容转帖自 http://os.chinaunix.net/a2008/0909/985/000000985306.shtml

2. 设置ps1变量的颜色

    

我们能够通过配置PS1变量使提示符成为彩色。在PS1中配置字符序列颜色的格式为:
 
    \[\e[F;Bm\]
 
    基本上是夹在 "\e["(转义开方括号)和 "m" 之间数字值。假如指定一个以上的数字代码,则用分号将他们分开。
    
    其中 F 为字体颜色,编号30~37; B 为背景色,编号40~47。
 
    可通过 \e[0m 关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,请看下面的颜色表和代码表。
 
    颜色表
 
    前景 背景 颜色
    ---------------------------------------
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫色
    36 46 青色
    37 47 白色
 
    代码 意义
    -------------------------
    0 OFF
    1 高亮显示
    4 underline
    5 闪烁
    7 反白显示
    8 不可见
 
    假如想要配置终端提示符的样式只要把$PS1在~/.bahrc指定即可
 
"\e[0m" 
假如将数字代码指定为零,则他就会通知终端将前景、背景和加粗配置重置为他们的默认值。您可能会在在提示行结束时使用这个代码,以使您键入的文字成为非彩色的。现在,让我们看一下这些颜色代码。请注意下面的抓屏结果: 
 
要使用这个表,首先请查找您要使用的颜色,然后查找对应的前景编号 (30-37) 和背景编号 (40-47)。例如,假如您喜欢黑底绿字,则可将编号分别设为 32 和 40。然后打开您的提示行定义并在其中添加适当的颜色代码。下面的定义: 
 
export PS1="\w> " 
 
变为: 
 
export PS1="\e[32;40m\w> " 
 
到现在为止,提示行尽管已很不错了,但仍不太完美。在 bash 显示出工作目录以后,我们需要使用 "\e[0m" 序列将颜色重新配置为正常值。 
 
export PS1="\e[32;40m\w> \e[0m" 
 
这个定义将显示一个漂亮的绿色提示行,但我们仍需要做一些扫尾工作。我们无需包括 "40" 这个背景颜色配置,因为他将背景配置为黑色,而黑色是默认颜色。此外,绿色还很暗;我们通过添加一个 "1" 颜色代码来修正这个问题,这将启用更亮的加粗文字。除了这个修改之外,我们还需要将全部非打印字符用专用的 bash 转义序列 "\[" 和 "\]" 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。没有这两个转义序列,尽管您有了一个很漂亮的提示行,但是假如您键入的命令恰好到达终端的最右端,就会造成显示混乱。
PS:此部分转帖自 http://blog.chinaunix.net/uid-13954789-id-3137184.html

以上是关于linux环境下PS1变量配置的主要内容,如果未能解决你的问题,请参考以下文章

linux下环境变量PS1-命令提示符

Linux 下PS1 PS2 PS3 PS4 提示符详解

linux path环境变量基础

linux 环境变量的配置

修改linux环境变量使终端命令行颜色和样式改变

linux中环境变量和系统加载环境变量的顺序