温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何修改Bash Shell提示符的格式和配色

发布时间:2021-11-06 18:10:22 来源:亿速云 阅读:154 作者:柒染 栏目:建站服务器

如何修改Bash Shell提示符的格式和配色,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

导读我们大多数使用的 shell提示符,显示用户名、主机名和当前所在目录。这里将会介绍如何定制一个自己喜欢的Bash。

了解BASH

shell的提示符是通过一个特殊的shell变量PS1来控制的。还有其他变量,比如PS2、PS3和PS4。Bash在准备读取 命令时显示第一个提示符变量PS1

当它需要更多的输入来完成一个 命令时,它会显示第二个提示符变量PS2

bash允许通过插入一些“反斜杠”\转义的特殊字符来定制这些提示字符串。

显示当前Bash提示符

[root@localhost ~]# echo $PS1
[\u@\h \W]\$

每个被转义的特殊字符解释如下:

  • \u: 显示当前用户

  • \h: 显示主机名

  • \W: 打印当前所在目录

  • \$: 如果有效UID为0,则显示#(指的是root用户),否则显示$(指的是普通用户)

修改Bash提示符

如果想要使修改的shell提示否永久生效,可以把变量写在家目录下面的.bashrc文件里面。若要想全局生效,所有用户都生效,可以写在/etc/bash.bashrc或者/etc/bashrc配置文件里面。

例如:在提示符中显示用户名、主机名、目录所在的绝对路径、显示24小时制当前时间,将命令保存到~/.bashrc文件中。:

[root@localhost ~]# echo 'export PS1="[\\u@\\h \\W \\A]\\$ "' >> ~/.bashrc
[root@localhost ~]# source ~/.bashrc 
[root@localhost ~ 11:28]#

如何修改Bash Shell提示符的格式和配色
以下是常用特殊字符:

  • \u: 显示当前用户

  • \w: 打印当前所在目录的绝对路径

  • \W: 打印当前所在目录

  • \h: 显示主机名

  • \H: 显示完全合格域名

  • \A: 显示当前时间24小时制

  • \@: 显示当前时间12小时制

  • \$: 如果有效UID为0,则显示#(指的是root用户),否则显示$(指的是普通用户)

  • \j: 当前由shell管理的作业数量

为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' # 重置为默认值

下面是配色方案,可以把自己喜欢的添加到~/.bashrc文件里面,然后让他生效:

[root@localhost ~ 15:49]# export PS1="\e[0;30m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0;31m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0;32m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0;33m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0;34m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0;35m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0;36m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0;37m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  
[root@localhost ~]#  export PS1="\e[1;30m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[1;31m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[1;32m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[1;33m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[1;34m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[1;35m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[1;36m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[1;37m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  
[root@localhost ~]#  export PS1="\e[4;30m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[4;31m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[4;32m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[4;33m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[4;34m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[4;35m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[4;36m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[4;37m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  
[root@localhost ~]#  export PS1="\e[40m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[41m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[42m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[43m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[44m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[45m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[46m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[47m[\\u@\\h \\W]\\$ \e[m "
[root@localhost ~]#  export PS1="\e[0m[\\u@\\h \\W]\\$ \e[m "

如何修改Bash Shell提示符的格式和配色
如果想要使提示符的每个部分显示的颜色不同,下面一个例子可以了解一下:

[root@localhost log#] export PS1="\e[35m[\\u\e[m@\e[36m\\h \e[33m\\W]\e[1,33m\\$\e[m "

命令解释:

  • "[\e[35m[\\u: 开头添加中括号"[",当前登录的用户部分使用紫色字体

  • \e[m@: "@"符号不给配色,使用默认颜色

  • \e[36m\\h : 主机名称部分使用青色

  • \e[33m\\W]: 当前所在目录使用黄颜色,在其后面添加中括号"]"

  • \e[1,33m\\$\e[m ": $符号加粗,使用黄颜色

如何修改Bash Shell提示符的格式和配色

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI