当前位置: 首页 > Linux

如何修改BashShell提示符的格式和颜色

时间:2023-04-06 21:42:11 Linux

我们大部分时间使用的shell提示符会显示用户名、主机名和当前目录。本文将介绍如何自定义一个你喜欢的Bash。了解到BASHshell的提示符是由一个特殊的shell变量PS1控制的。还有其他变量,如PS2、PS3和PS4。Bash在准备读取命令时显示第一个提示变量PS1。当需要更多输入来完成命令时,它会显示第二个提示变量PS2。bash允许通过插入一些“反斜杠”``转义的特殊字符来自定义这些提示字符串。显示当前Bash提示符[root@localhost~]#echo$PS1[u@hW]$每个转义的特殊字符解释如下:u:显示当前用户h:显示主机名W:打印当前目录$:如果有效UID为0,则显示#(指root用户),否则显示$(指普通用户)修改Bash提示符如果想让修改后的shell提示符永久生效,你可以把变量写在home目录下面的.bashrc文件里面。如果想全局生效,所有用户都能生效,可以写在/etc/bash.bashrc或者/etc/bashrc配置文件中。例如:在提示符中显示用户名、主机名、目录的绝对路径,以24小时格式显示当前时间,将命令保存到~/.bashrc文件中。:[root@localhost~]#echo'exportPS1="[u@hWA]$"'>>~/.bashrc[root@localhost~]#source~/.bashrc[root@localhost~11:28]#以下是常用的特殊字符:u:显示当前用户w:打印当前目录的绝对路径W:打印当前目录h:显示主机名H:显示完全限定域名A:显示当前timein24hours@:显示当前时间12小时制$:如果有效UID为0则显示#(指root用户),否则显示$(指普通用户)j:目前由shell管理的许多作业是为Bash提示符添加颜色匹配。常用配色,包括修改字体颜色、修改为粗体、添加下划线、设置背景色等设置:'e[0;30m'#black'e[0;31m'#red'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'#bluebackground'e[45m'#purplebackground'e[46m'#cyanbackground'e[47m'#whitebackground'e[0m'#resettodefault下面是配色方案,你可以自己设置在~/.bashrc文件中添加你喜欢的内容,然后让它生效:[root@localhost~15:49]#exportPS1="e[0;30m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0;31m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0;32m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0;33m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0;34m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0;35m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0;36m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0;37m[u@hW]$e[m"[root@localhost~]#[root@localhost~]#exportPS1="e[1;30m[u@hW]$e[m"[root@localhost~]#exportPS1="e[1;31m[u@hW]$e[m"[root@localhost~]#exportPS1="e[1;32m[u@hW]$e[m"[root@localhost~]#exportPS1="e[1;33m[u@hW]$e[m"[root@localhost~]#exportPS1="e[1;34m[u@hW]$e[m"[root@localhost~]#exportPS1="e[1;35m[u@hW]$e[m"[root@localhost~]#exportPS1="e[1;36m[u@hW]$e[m"[root@localhost~]#exportPS1="e[1;37m[u@hW]$e[m"[root@localhost~]#[root@localhost~]#exportPS1="e[4;30m[u@hW]$e[m"[root@localhost~]#exportPS1="e[4;31m[u@hW]$e[m"[root@localhost~]#exportPS1="e[4;32m[u@hW]$e[m"[root@localhost~]#exportPS1="e[4;33m[u@hW]$e[m"[root@localhost~]#exportPS1="e[4;34m[u@hW]$e[m"[root@localhost~]#exportPS1="e[4;35m[u@hW]$e[m"[root@localhost~]#exportPS1="e[4;36m[u@hW]$e[m"[root@localhost~]#exportPS1="e[4;37m[u@hW]$e[m"[root@localhost~]#[root@localhost~]#exportPS1="e[40m[u@hW]$e[m"[root@localhost~]#exportPS1="e[41m[u@hW]$e[m"[root@localhost~]#exportPS1="e[42m[u@hW]$e[m"[root@localhost~]#exportPS1="e[43m[u@hW]$e[m"[root@localhost~]#exportPS1="e[44m[u@hW]$e[m"[root@localhost~]#exportPS1="e[45m[u@hW]$e[m"[root@localhost~]#exportPS1="e[46m[u@hW]$e[m"[root@localhost~]#exportPS1="e[47m[u@hW]$e[m"[root@localhost~]#exportPS1="e[0m[u@hW]$e[m"如果你想让提示的各个部分用不同的颜色显示,下面的例子可以帮助你理解:[root@localhostlog#]exportPS1="e[35m[ue[m@e[36mhe[33mW]e[1,33m$e[m"命令解释:"[e[35m[u:开头加方括号"[",当前登录用户部分使用使用紫色字体e[m@:“@”符号不匹配颜色,使用默认颜色e[36mh:主机名部分使用青色e[33mW]:当前目录使用黄色,加括号"]"eafterit[1,33m$e[m":$符号加粗,使用黄色。总结本文介绍如何自定义一个自己喜欢的BashShell提示符,希望对大家有所帮助