系统启动后,环境变量加载的顺序为:/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → /etc/bashrc
想要修改某用户登录后shell字体的颜色,在~/.bashrc中修改PS1的内容即可。
命令提示符PS1的常用参数:
\d :日期,格式为"周 月 日",例如:"Mon Aug 1" \H :完整的主机名; \h :仅取主机的第一个名字; \t :24小时制的时间,如:HH:MM:SS; \A :24小时制的时间:HH:MM; \T :12小时制的时间; \u :当前用户的用户名; \v :BASH的版本信息; \w :当前工作目录的完整路径; \W :当前工作目录的basename; \$ :提示符,如果是root时,提示符为:#,普通用户则为:$
要实现颜色显示,这里要用到转义序列;转义序列就是一个让 shell 执行一个特殊步骤的控制指令。
转义序列通常都是以ESC开头,在shell里表示为^[ ,这种表示法需要一点时间去适应,也可以用 \033 完成相同的工作(ESC的ASCII 码用十进制表示就是27,等于用八进制表示的033)。
要直接在shell里面输入转义序列需要先按CTRL-v ESC
或者CRTL-v-[
。
\033[m 声明了转义序列的开始。
\033[0m 声明转义序列结束,回到默认颜色。
PS1中设置字符颜色有两种方式,效果相同:
1、\e[F;Bm 2、\033[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 白色 几种特殊'颜色': 0 OFF 1 高亮显示 4 underline 5 闪烁 7 反显 8 消隐(不可见)
关于 ls 和 grep 命令的 --color[=WHEN]
参数:
--color[=WHEN]: colorize the output; WHEN can be 'never', 'auto', or 'always' (the default); always和auto的区别: always 会在任何情况下都给匹配到的字符加上颜色标记; auto 只给最后一个管道符匹配到的字符加上颜色标记;
简单示例:
# vim /etc/bashrc PS1="\e[32;1m[\u@\h \W]\\$\e[0m " # source /etc/bashrc
来源:https://www.cnblogs.com/keithtt/p/6919064.html