Linux:修改Shell命令提示符及颜色

Linux修改Shell命令提示符及颜色

 

1. Linux登录过程中加载配置文件顺序:

/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]

可查看默认的~/.bashrc文件如下:

 cat ~/.bashrc 
结果:
# .bashrc
 
# User specific aliases and functions
 
# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

2. Shell命令提示符及颜色是由PS1来配置:

echo $PS1

其中PS1常用的参数含义如下:

d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"
H :#完整的主机名称
h :#仅取主机的第一个名字
	 :#显示时间为24小时格式,如:HH:MM:SS
T :#显示时间为12小时格式
A :#显示时间为24小时格式:HH:MM
u :#当前用户的账号名称
v :#BASH的版本信息
w :#完整的工作目录名称
W :#利用basename取得工作目录名称,所以只会列出最后一个目录
# :#下达的第几个命令
$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

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

F       B
30      40      黑色
31      41      红色
32      42      绿色
33      43      黄色
34      44      蓝色
35      45      紫红色
36      46      青蓝色
37      47      白色

根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。

比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:

 

#PS1='[[e[32;40m]u@h w 	]$ '

4. ~/.bashrc配置为例:

 cat ~/.bashrc 
结果:
# .bashrc
 
# User specific aliases and functions
export PS1='[[e[32;40m]u@w]$ '
 
# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

5. 修改完成后重新加载下~/.bashrc即可生效:

source ~/.bashrc
原文地址:https://www.cnblogs.com/Spiro-K/p/6361716.html