Linux/Ubuntu 自定义shell提示符

shell提示符分析

    首先shell提示符是什么呢?我们登陆系统之后看到的符号就是提示符,提示符可以理解为系统的入口,有了提示符我们才能通过命令和操作系统进行交互。如下:
root@Ubuntu:~#
    提示符由哪些部分组成,都代表什么意思呢?拆开看大家就明白了。
用户名机器名称当前路径身份提示符
root@Ubuntu:~#
    其中最后一个符号会随着用户的变化而变化,'#'只有当前用户是root的时候才显示,其他普通用户统一都显示‘$’。大致的意思已经了解了,但是它又是从哪得到这些数据的呢?实际上提示符的所有内容都是通过一个叫PS1的环境变量定义的。我们可以通过echo命令查看PS1的内容。
root@Ubuntu:~# echo $PS1`
\u@\h:\w\$
    从输出结果中看,这个环境变量包含了一大堆字符,乍一看可能有点不明所以,实际上在这里不同的字符都有不同的意义:
字符含义
\a以ASCII格式编码的铃声,当遇到这个字符的时候,计算机会发出嗡嗡文的响声
\d以日,月,天的格式显示当前日期,例如:Sat Oct 17
\h本地主机名,不带末尾的域名
\H完整的主机名称
\j运行在当前shell会话中的工作数量
\I当前终端的设备名称
\n换行符
\r回车符
\sshell程序名称
\t以hours:minutes:seconds的格式显示当前时间,24小时制
\T同上,12小时制
\@以AM/PM的格式显示当前时间
\A以hours:minutes的格式显示当前时间,24小时制
\u当前用户名
\vshell程序的版本号
\Vshell程序的版本和版本号
\w当前的工作路径
\W当前工作路径的最后部分
!当前命令的历史号
#当前shell会话中的命令数量
$显示一个‘$’符号,在超级用户登录的情况下会显示一个‘#’字符
\[表示一个或多个非打印字符的开始,意思就是这个符号后面的内容不会在终端中显示,一般用来更改文本的颜色
\]非打印字符序列结束

提示符自定义

    了解了提示符的基本组成和控制它的变量后,我们就可以开始自定义自己的提示符了,首先我们先备份一下原来提示符变量内容,以便出错后恢复。
root@Ubuntu:~# old_ps1="$PS1"
    用echo命令输出一下,可以看到已经成功复制了该变量,恢复的话反向赋值即可
root@Ubuntu:~# echo $old_ps1
\u@\h:\w\$
    备份完成后我们就可以根据提示符的列表来设计自己提示符了
root@Ubuntu:~# PS1="[\d]-[\A]-[\u]:\n[\w]\n[command]:"
改完之后就会显示以下效果,可以看到整个提示符分为了三行。第一行是日期-时间-用户名,第二行是当前的工作目录,第三行是提示符的结束,也是输入命令的地方。

在这里插入图片描述

    除了修改提示符的内容,我们还可以修改字体的颜色
root@Ubuntu:~# PS1="\033[0;36m[\d]-[\A]-[\u]\033[0m \n\033[0;35m\][\w]\[\033[0m \n\033[0;32m[command]:\033[0m:"

在这里插入图片描述

    同样的我们选取一段拆开看看
\033[0;36m[\d]-[\A]-[\u]\033[0m
更改字符的颜色,这是非打印的字符提示符的主体部分颜色修改的终止符,告诉终端字体恢复到原来的颜色。一般在提示符变量的末尾

进阶-修改颜色

    当然字体颜色也并不是随便填一个编码就行的,下面是可用的字体颜色列表
颜色编码字体颜色
\033[0;30m黑色
\033[0;31m红色
\033[0;32m绿色
\033[0;33m棕色
\033[0;34m蓝色
\033[0;35m粉红
\033[0;36m青色
\033[0;37m浅灰色
\033[1;30m深灰色
\033[1;31m浅红色
\033[1;32m浅绿色
\033[1;33m黄色
\033[1;34m浅蓝色
\033[1;35m浅粉色
\033[1;36m浅青色
\033[1;37m白色
    文本的背景色
颜色编码背景颜色
\033[0;40m蓝色
\033[0;41m红色
\033[0;42m绿色
\033[0;43m棕色
\033[0;44m黑色
\033[0;45m紫色
\033[0;46m青色
\033[0;47m浅灰色
\033[0m这个在末尾一定要写,不然提示符后面输入的字体颜色和提示符的颜色一样了
    要是想让提示符永久生效,可以把PS1的变量添加到.bashrc文件中即可。有的Linux发行版本的bashrc文件中已经包含了这一项,所以只要修改成自己的提示符然后保存就行了。
    以上就是提示符修改的基本内容了,大家可以根据上面的内容自定义自己的提示符了
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝加尔湖一条鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值