Shell修改Bash提示符

Shell修改Bash提示符

说明

在使用linux操作系统时,经常会出现shell提示符异常的问题。特别是在使用yum命令安装软件,并自动创建用户时。新建用户的shell提示符往往会有异常,这时需要修改器.bashrc中的PS1配置。

查看当前提示符设置

显示当前提示符设置:

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

参数说明

常用参数:

参数 说明
\u 当前用户的用户名
\h 主机名
\w 当前工作目录的全路径
\n 新的一行
$ 如果当前用户 UID 是 0,则显示符号“#”,否则显示符号“$”

其他参数:

参数 说明
\a 一个 ASCII 码报警符(07)
\d "星期 月 日"格式的日期(比如 “Wed Aug 07”)
\e 一个 ASCII 码转义符(033)
\H 长主机名
\j 由当前 Shell 管理的任务数
\l Shell 的终端设备的文件名
\r 回车
\s Shell 的名字(比如:bash)
\t 24时制“HH:MM:SS”格式的当前时间(比如:22:59:25)
\T 12时制“HH:MM:SS”格式的当前时间(比如:11:01:32)
@ 12时制“HH:MM AM/PM”格式的当前时间(比如:11:01 PM)
\A 24时制“HH:MM”格式的当前时间(比如:23:02)
\v Bash 的版本(比如:4.1)
\V Bash 的发行号,版本+补丁级别(比如:4.1.10)
\W 当前工作目录的去掉前导目录后的目录名,如果是变量 $HOME 所指定的目录则用符号“~”代替
! 上一个被执行命令的历史编号
# 这个命令的命令编号
\nnn 与八进制数 nnn 相对应的 ASCII 码
\ 反斜杠
[ 开始一个非打印字符序列,可用于将终端控制序列嵌入到提示符中
] 结束非打印字符序列

几个示例

显示当前时间

定制一个可以显示当前时间的提示符:

[root@localhost Downloads]# export PS1="[\t] \u@\h\n\$ "
[02:43:45] root@localhost
$ 

显示内核版本

提示符中显示内核版本:

$ export PS1="`uname -r`|\u@\h\n\$ "
3.10.0-327.el7.x86_64|root@localhost
$ 

显示当前用户进程数

提示符显示当前用户的进程数:

$ export PS1="\u@\h [$(ps -ef | grep 'toby' | grep -v grep | wc -l)]> "
root@localhost [0]>

添加颜色

让Bash提示符带有颜色:

在这里插入图片描述

相关参数:

参数 含义
\e[ 指示颜色提示符的开始
0;34m 颜色代码,此代码代表的是蓝色,编码格式为x;ym
\e[m 只是颜色提示符的结束

部分颜色代码:

代码 颜色
0;30 黑色
0;31 红色
0;32 绿色
0;33 褐色
0;34 蓝色
0;35 紫色
0;36 青色

你可能感兴趣的:(Linux)