修改linux中shell命令提示符

改变命令提示符格式

命令提示符环境变量为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。颜色表如下:

FBcolor
3040黑色
3141红色
3242绿色
3343黄色
3444蓝色
3545紫红色
3646青蓝色
3747白色

可以到/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

    原文作者:fengkaipeng
    原文地址: https://www.jianshu.com/p/c0679c8861a2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞