哈喽大家好,我是咸鱼
我们知道默认情况下,Linux 终端提示符都是简单的黑白色
这种黑白提示一方面看久了容易视觉疲劳,另一方面由于没有高亮显示,看着很不方便,视觉体验极差
所以我们需要修改我们的终端显示颜色,像下面这样子
PS1(提示语句)
在 Linux 中,当前的 Bash 提示设置保存在一个名为 PS1
的 shell 变量中,它表示【提示语句】(Prompt Statement)
PS1 被称为【主要提示变量】
此外还有三个额外的变量:PS2、PS3和PS4。但是,由于它们与更改 Linux 终端中提示符的颜色无关,本文不过多介绍
这个变量保存的路径通常在$HOME/.bashrc
文件中(或者 /etc/bashrc
)
bash
# 查看当前 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
变量
bash
PS1='\[\033[1;32m\]\u\[\033[1;37m\]@\[\033[1;36m\]\h\[\033[00m\]:\[\033[1;34m\]\w\[\033[00m\]\$ '
然后生效一下
bash
source /etc/bashrc
或
source ~/.bashrc
可以看到生效了
要定制Bash提示符,只需在PS1变量中添加、删除或重新排列下面这些特殊字符就可以了
如 1;32m
、1;37m
、1;36m
等。这些是 Bash 的颜色代码。这些代码由一系列数字表示,中间用分号加一个字母m隔开
以下是 Bash Shell 提供的颜色代码列表
于是我们的 Linux 终端就有了一个彩色的 bash shell 提示符
参考链接:https://linuxiac.com/how-to-change-the-colors-of-your-bash-shell-prompt-on-linux/