哈喽大家好,我是咸鱼
我们知道默认情况下,Linux 终端提示符都是简单的黑白色
这种黑白提示一方面看久了容易视觉疲劳,另一方面由于没有高亮显示,看着很不方便,视觉体验极差
所以我们需要修改我们的终端显示颜色,像下面这样子
PS1(提示语句)
在 Linux 中,当前的 Bash 提示设置保存在一个名为 PS1
的 shell 变量中,它表示【提示语句】(Prompt Statement)
PS1 被称为【主要提示变量】
此外还有三个额外的变量:PS2、PS3和PS4。但是,由于它们与更改 Linux 终端中提示符的颜色无关,本文不过多介绍
这个变量保存的路径通常在$HOME/.bashrc
文件中(或者 /etc/bashrc
)
# 查看当前 bash shell 的 PS1 值
[root@localhost ~]# echo $PS1
[[\e[33m]\u[\e[0m]@[\e[31m]\h[\e[0m] [\e[35m]\w[\e[0m]]$
刚开始看到这个输出,相信有不少小伙伴跟我一样一脸懵逼的,我们先只关注 \u@\h:\w$
部分
- u:表示用户名(username)
- h:表示主机名(hostname)
- w:表示当前工作目录(current working directory)
如下图所示
修改 PS1
以 CentOS 7.9 为例
我们首先打开 .bashrc
文件(或 /etc/bashrc
)并查找定义变量 PS1
那一行
把它注释掉,然后创建一个新的 PS1
变量
PS1='[\033[1;32m]\u[\033[1;37m]@[\033[1;36m]\h[\033[00m]:[\033[1;34m]\w[\033[00m]$ '
然后生效一下
source /etc/bashrc
或
source ~/.bashrc
可以看到生效了
要定制Bash提示符,只需在PS1变量中添加、删除或重新排列下面这些特殊字符就可以了
如 1;32m
、1;37m
、1;36m
等。这些是 Bash 的颜色代码。这些代码由一系列数字表示,中间用分号加一个字母m隔开
以下是 Bash Shell 提供的颜色代码列表
于是我们的 Linux 终端就有了一个彩色的 bash shell 提示符