首页 / 文章 / Linux / Linux自定义Shell终端命令提示符及颜色PS1

Linux自定义Shell终端命令提示符及颜色PS1

张凯 分类:Linux 217

登录Linux系统后,默认的系统命令提示符毫无个性,当我们在操作多个系统时无法快速明显辨别生产和测试环境,从而可能会导致误操作。其实我们可以通过修改PS1变量实现个性的提示符格式,避免出现这种低级错误。

#CentOS默认提示符
[root@localhost ~]#
#Ubuntu默认提示符
root@ubuntu1804:~#

输出一下PS1变量

[root@centos7-9-1 ~]# echo $PS1
[\u@\h \W]\$

这里包括了用户名、@、主机名第一个名字、最后一个目录、$提示字符,如果是root,提示符#,普通用户为$

参数含义
\d代表日期,格式为weekday month date
\H完整的主机名称
\h仅取主机的第一个名字
\t显示时间为24小时格式,如HHMMSS
\T显示时间为12小时
\A显示时间为24小时格式HHMM
\u
当前账户的名称
\vBASH的版本信息
\w完整的工作目录名称,家目录会以~显示
\W列出最后一个目录
\#下达的第几个命令
\$提示字符,如果是root,提示符为#,普通用户则为$


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


F前影色B背景色说明
3040黑色
3141红色
3242绿色
3343黄色
3444蓝色
3545紫红色
3646青蓝色
3747白色

修改一下PS1变量,但是这个只是临时生效的,开启一个新的窗口就没有了。


[root@centos7-9-1 ~]# PS1='[\e[32;1m\u@\H \w \t\e[0m]\$'
[root@centos7-9-1.kevinsir.com ~ 17:28:22]#

如果想让他永久生效的话需要把它添加到环境变量里。

echo "PS1='[\e[32;1m\u@\H \w \t\e[0m]\$'" >> .bashrc

最终显示效果:

ps1