如何让Bash提示符带有颜色
PS1
是一个
环境变量
(系统变量):你的
提示符设定
我们先来了解一下几个特殊字符的含义:
\e[ | 指示颜色提示符的开始 |
---|---|
0;34m | 颜色代码,此代码代表的是蓝色,编码格式是x;ym |
\e[m | 指示颜色提示符的结束 |
部分颜色代码:
0;30 | 黑色 |
---|---|
0;34 | 蓝色 |
0;32 | 绿色 |
0;36 | 青色 |
0;31 | 红色 |
0;35 | 紫色 |
0;33 | 褐色 |
将提示符(前景)显示为青色:
export PS1="\e[0;36m[\u@\h \W]\\$ \e[m"
// #\u代表当前用户的用户名(如root),\h代表主机名(localhost),\W代表当前工作目录,\\$如果当前用户UID是0,则显示#,否则显示$
[root@localhost ~]#
如果你想你每次登录时自动设置你的Shell提示符,就需要将环境变量PS1(就是上面语句)放在~/.bashrc
文件中.
上面是一种方法,你也可以使用tput命令
.
tput命令行选项 | |
---|---|
tput boid | 设置粗体模式 |
tput rev | 显示反转颜色 |
tput sgr0 | 关闭所有属性 |
tput setaf | 设置前景色 |
tput setab | 设置背景色 |
颜色代码 | 颜色 |
---|---|
0 | 黑色 |
1 | 红色 |
2 | 绿色 |
3 | 黄色 |
4 | 蓝色 |
5 | 洋红色 |
6 | 青色 |
7 | 白色 |
设置前景色是红色的提示符:
export PS1="\[`tput setaf 1`\][\u@\h \W]\\$ \[`tput sgr0`\]"
// # \[表示开始一个非打印字符序列,可用于将终端控制序列嵌入到提示符中,\]表示结束非打印字符序列
// `注意这是反引号哦`
将Bash提示符中所有字体加粗,背景设为白色,前景设为青色.
export PS1="\[`tput bold``tput setaf 6``tput setab 7`\][\u@\h \W]\\$\[`tput sgr0`\]"