Linux Bash
从 Linux 控制台登录后,便可以看到 Shell 命令提示符。命令提示符不是命令的一部分,它只是起到一个提示作用。不同的 Linux 发行版使用的提示符格式大同小异。
shell的提示符是通过一个特殊的shell变量PS1来控制的。还有其他变量,比如PS2、PS3和PS4。Bash在准备读取命令时显示第一个提示符变量PS1。
1、查看当前Bash默认使用的提示符格式信息
[root@iZuligp6e1dyzfZ ~]# echo $PS1
[\u@\h \W]\$
执行命名之后,输出的各种转义的符号,每个被转义的字符含义如下:
- \u: 显示当前用户
- \h: 显示主机名
- \W: 打印当前所在目录
-
2、修改Bash提示符格式
比如在提示符中显示用户名、主机名、目录所在的绝对路径、显示24小时制当前时间,可以运行如下命令:
[root@iZuligp6e1dyzfZ ~]# echo 'export PS1="[\\u@\\h \\W \\A]\\$ "' >> ~/.bashrc
[root@iZuligp6e1dyzfZ ~]# source ~/.bashrc
在上述命令中,控制时间显示的参数如下:
\A: 显示当前时间24小时制
- @: 显示当前时间12小时制
如果想要使修改的shell提示永久生效,可以把变量写在Home目录下面的.bashrc文件里面。若要想全局生效,所有用户都生效,可以写在/etc/bash.bashrc或者/etc/bashrc配置文件里面。
3、为Bash提示符添加配色
Bash提示符有很多配色
'\e[0;30m' # 黑色
'\e[0;31m' # 红色
'\e[0;32m' # 绿色
'\e[0;33m' # 黄色
'\e[0;34m' # 蓝色
'\e[0;35m' # 紫色
'\e[0;36m' # 青色
'\e[0;37m' # 白色
'\e[1;30m' # 黑色 粗体
'\e[1;31m' # 红色 粗体
'\e[1;32m' # 绿色 粗体
'\e[1;33m' # 黄色 粗体
'\e[1;34m' # 蓝色 粗体
'\e[1;35m' # 紫色 粗体
'\e[1;36m' # 青色 粗体
'\e[1;37m' # 白色 粗体
'\e[4;30m' # 黑色 下划线
'\e[4;31m' # 红色 下划线
'\e[4;32m' # 绿色 下划线
'\e[4;33m' # 黄色 下划线
'\e[4;34m' # 蓝色 下划线
'\e[4;35m' # 紫色 下划线
'\e[4;36m' # 青色 下划线
'\e[4;37m' # 白色 下划线
'\e[40m' # 黑色 背景
'\e[41m' # 红色 背景
'\e[42m' # 绿色 背景
'\e[43m' # 黄色 背景
'\e[44m' # 蓝色 背景
'\e[45m' # 紫色 背景
'\e[46m' # 青色 背景
'\e[47m' # 白色 背景
'\e[0m' # 重置为默认值
执行配色命令
[root@iZuligp6e1dyzfZ ~ 22:37]# export PS1="\e[0;32m[\\u@\\h \\W \\A]\\$ \e[m "
为提示符的每个部分显示的颜色不同,让当前用户名、主机、目录显示的颜色都不一样的设置命令
export PS1="\e[31m[\\u\e[m@\e[35m\\h \e[32m\\W]\e[1;33m\\$\e[m "
- \e[31m[\u: 当前登录的用户使用红色字体
- \e[m@: “@”符号不给配色,使用默认颜色
- \e[35m\h : 主机名称使用紫色
- \e[32m\W]: 当前所在目录使用绿色,在其后面添加中括号”]”
- \e[1;33m\$\e[m “: $符号加粗,使用黄颜色