博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
改变PS1的颜色
阅读量:5295 次
发布时间:2019-06-14

本文共 1317 字,大约阅读时间需要 4 分钟。

我们能够通过配置PS1变量使提示符成为彩色。在PS1中配置字符序列颜色的格式为:
 
    \[\e[F;Bm\]
 
    基本上是夹在 "\e["(转义开方括号)和 "m" 之间数字值。假如指定一个以上的数字代码,则用分号将他们分开。
    
    其中 F 为字体颜色,编号30~37; B 为背景色,编号40~47。
 
    可通过 \e[0m 关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,请看下面的颜色表和代码表。
 
    颜色表
 
    前景 背景 颜色
    ---------------------------------------
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫色
    36 46 青色
    37 47 白色
 
    代码 意义
    -------------------------
    0 OFF
    1 高亮显示
    4 underline
    5 闪烁
    7 反白显示
    8 不可见
 
    假如想要配置终端提示符的样式只要把$PS1在~/.bahrc指定即可
 
"\e[0m" 
假如将数字代码指定为零,则他就会通知终端将前景、背景和加粗配置重置为他们的默认值。您可能会在在提示行结束时使用这个代码,以使您键入的文字成为非彩色的。现在,让我们看一下这些颜色代码。请注意下面的抓屏结果: 
 
要使用这个表,首先请查找您要使用的颜色,然后查找对应的前景编号 (30-37) 和背景编号 (40-47)。例如,假如您喜欢黑底绿字,则可将编号分别设为 32 和 40。然后打开您的提示行定义并在其中添加适当的颜色代码。下面的定义: 
 
export PS1="\w> " 
 
变为: 
 
export PS1="\e[32;40m\w> " 
 
到现在为止,提示行尽管已很不错了,但仍不太完美。在 bash 显示出工作目录以后,我们需要使用 "\e[0m" 序列将颜色重新配置为正常值。 
 
export PS1="\e[32;40m\w> \e[0m" 
 
这 个定义将显示一个漂亮的绿色提示行,但我们仍需要做一些扫尾工作。我们无需包括 "40" 这个背景颜色配置,因为他将背景配置为黑色,而黑色是默认颜色。此外,绿色还很暗;我们通过添加一个 "1" 颜色代码来修正这个问题,这将启用更亮的加粗文字。除了这个修改之外,我们还需要将全部非打印字符用专用的 bash 转义序列 "\[" 和 "\]" 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。没有这两个转义序列,尽管您有了一个很漂亮的提示行,但是假如您键入 的命令恰好到达终端的最右端,就会造成显示混乱。下面是我们最终的提示行: 
 export PS1="\[\e[32;1m\][\u@\h \W]$\[\e[0m\]“
export PS1="\[\e[32;1m\]\w> \[\e[0m\]"
别担心在同一个提示行中使用几种颜色,就像下面这样: 
 
export PS1="\[\e[36;1m\]\u@\[\e[32;1m\]\H> \[\e[0m\]"

转载于:https://www.cnblogs.com/zydev/p/5032600.html

你可能感兴趣的文章
adb链接时报错误10061解决方法
查看>>
7834:分成互质组
查看>>
开餐馆
查看>>
09:密码翻译
查看>>
ES6语法:let和const
查看>>
ranch分析学习(四)
查看>>
Android电池电量更新 - BatteryService(转)
查看>>
HTML5 APP
查看>>
阿里云ecs环境配置
查看>>
python的sorted相关
查看>>
alt-opt and end2end
查看>>
线程间通信
查看>>
Goroutine陷阱
查看>>
mws文件中的tab文件改为相对路径
查看>>
C语言学习日记6
查看>>
LuoGu P2735 电网 Electric Fences
查看>>
BZOJ 1246 & 有点不一样的概率DP
查看>>
BOS10——权限控制的实现,apache shiro权限管理框架的使用,参数同名问题,EasyUI的combotree的使用...
查看>>
CentOS上yum时遇到Insufficient space on download directory的问题的解决办法
查看>>
PowerShell升级远程机器的windows service的脚本(最终版)
查看>>