修改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。颜色表如下:
F | B | color |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黄色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
可以到/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