Bash shell的提示符定制

Bash shell的一般提示符比较boring,可以通过在.bashrc中对shell 特殊变量PS1的设置来定制。Bash在准备读取命令时显示第一个提示符变量PS1。还有其他变量,比如PS2、PS3和PS4。当它需要更多的输入来完成一个命令时,它会显示第二个提示符变量PS2。
先来看一个例子:

export PS1=‘\e[0;31m[\u@\h \W]\$ \e[m’

在.bashrc中加入上面一句话source之后,可以得到以下效果:
在这里插入图片描述可以看到前面的Bash提示符变了颜色,现在我们来看一下这句话究竟是什么意思。Bash允许通过插入一些“反斜杠”\转义的特殊字符来定制这些提示字符串。每个被转义的特殊字符解释如下:

  • \u: 显示当前用户
  • \h: 显示主机名
  • \H: 显示完全合格域名
  • \w: 打印当前所在目录的绝对路径
  • \W: 打印当前所在目录
  • \A: 显示当前时间24小时制
  • @: 显示当前时间12小时制
  • \j: 当前由shell管理的作业数量
  • \$: 如果有效UID为0,则显示#(指的是root用户),否则显示$(指的是普通用户)

例如:在提示符中显示用户名、主机名、目录所在的绝对路径、显示24小时制当前时间,可以写为:

export PS1=[\u@\h \W \A]\$’

除了定制提示符的显示内容,还可以定制提示符每个内容的颜色,颜色用 \e[ 开始,有修改字体颜色、修改为粗体、添加下划线、设置背景颜色等设置:

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

前面的例子是让提示符改变颜色,如果想让提示符的每一个部分颜色不一样,可以这样操作:

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 : 后面的命令使用默认颜色

这种设置方法比较容易理解,但是如果终端命令打得太长,将不会自动换到下一行继续,而是会从行首覆盖下去,非常麻烦,这个时候需要对上面的命令进行修改,即对每一个\e[*m命令加上[ ]扩起来,具体如下:

export PS1=’\[\e[35m\][\u\[\e[m\]@\[\e[36m\]\h \[\e[33m\]\W]\[\e[1;33m\]\$\[\e[m\]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值