linux下PS1命令提示符设置

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\],这样你输入的命令就不会受之前颜色设置的影响。

你可能感兴趣的:(linux下PS1命令提示符设置)