说明

  • \033 或 \e :两者是等价的,表示转义字符(ASCII escape character),即键盘左上角的ESC键。033是ESC的八进制ASCII码。注意,在“老式”说法中,转义字符就是仅指八进制ASCII码033表示的字符,无他。像C语言中的反斜线 \ ,都是后来扩充的。[1][2]
  • \033[ 或 \e[ :也就是 ESC[ ,是一种称为控制序列引导器(Control Sequence Introducer,CSI)的转义序列。所谓转义序列,本质上就是字符串,但终端不会将这些字符串作为普通的文本来显示,而是作为一种命令来执行。转义序列通常用于控制终端的显示细节(如光标位置、颜色、字体风格等)。CSI是转义序列的一种,特点是以 ESC[ 开头。[3]
  • \e[m ( \e[0m 、 \e[00m 、 \033[m 、 \033[0m 、 \033[00m ):在设置命令提示符颜色时,表示“设置颜色的字符串”的结束,注意, \e[m 不是CSI的结束,和CSI没有关系,SCI也没有结束标志。
  • \[ 和 \] :表示中间的字符串是非打印字符,如CSI。[4][5]

颜色控制码

传统颜色控制码为 L;F;Bm ,其中, L 取值为0或1(也可以是00或01),其中,0表示普通亮度,1表示高亮; F 表示字体颜色,取值为30-37(即30+X,X取0-7); B 表示背景色,取值为40-47。[5][2]

还有一种8-bit控制码,参考[2]中SGR--8-bit 一节。

另外一种控制码格式参考[6]。

例子

PS1='\[\e[38;5;39m\][\[\e[38;5;208m\]\u\[\e[38;5;160m\]@\[\e[38;5;69m\]\h\[\e[38;5;214m\]:\[\e[38;5;10m\]\w\[\e[38;5;39m\]]\[\e[38;5;11m\]\$ \[\e[0m\]'

参考

[1] 转义字符 - 维基百科,自由的百科全书
[2] Escape character - Wikipedia (重点是 SGR 一节)
[3] ansi escape - What this character sequence "\033[H\033[J" does in C? - Stack Overflow
[
4] How to Change / Set up bash custom prompt (PS1) in Linux - nixCraft
[5] 自訂 Linux 的 Bash Shell 命令提示字串 Prompt(一):基本用法 - G. T. Wang[6] linux系统终端命令提示符设置(PS1)记录 - 散尽浮华 - 博客园

linux命令提示符高亮的更多相关文章

  1. 漂亮的Linux命令提示符

    漂亮的Linux命令提示符 每天面对着白底黑字(黑底白字)的命令行是否枯燥泛味呢?生活应给是五彩缤纷的,何不为单调无味的生活增添一抹色彩? 下面一起体验一下Linux命令行提示符惊险的整容之旅 惊鸿一 ...

  2. linux命令提示符解析

    linux命令提示符 命令窗口中[root@chengfeng ~]# 表示什么意思?       root        当前登录终端的用户      chengfeng     主机名(/etc/ ...

  3. Server版Linux命令提示符揭秘

            一直都在Ubuntu12.04和12.10  Desktop下玩.如今要在Centos6.3 Server版下做开发了,感觉还是非常不一样的. 克服一个有一个不顺利后,有那种站在山顶的 ...

  4. Linux命令提示符的配置

    Linux登录过程中加载配置文件顺序: /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc] ...

  5. linux命令提示符[root@localhost ~]#详解

    [root@localhost ~]#   1. @之前代表当前登录用户 在Linux中管理员用户是root,还有一些普通用户: 在此例中,root代表当前登录用户   2. @之后代表当前计算机主机 ...

  6. Linux命令提示符

    命令提示符:prompt [root@localhost ~]# 用户@主机名 所在目录 用户身份(#管理员 $普通用户) 显示提示符格式 Ubuntu sun@u18-2:~$ echo $PS1 ...

  7. 修改Linux命令提示符

    vim .bashrc export PS1='\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m:\W\$'

  8. linux命令提示符设置

    变成绿色 [root@localhost /usr/local]#vim /root/.bashrc # .bashrc # User specific aliases and functions a ...

  9. linux命令提示符上色

    vi /etc/profile RED='\[\e[31;1m\]' Yello='\[\e[33;1m\]' Green='\[\e[32;1m\]' End='\[\e[0m\]' Pur='\[ ...

  10. Linux如何修改命令提示符

    1.什么是命令提示符 命令提示符是CLI(command-line interface,命令行界面)在人机交互的过程中提示用户可以进行命令输入的特殊符号,在Linux中普通用户的prompt为“$”, ...

随机推荐

  1. SQL统计数据之总结

    一.查询SQL SELECT t1.规则编号 AS 编码, t1.规则描述 AS 名称, SUM( CASE WHEN t3.DATA_SOURCES = '00' THEN 1 ELSE 0 END ...

  2. ORACLE存储过程,函数,包,游标

    1.  PL/SQL语句块PL/SQL语句块只适用于Oracle数据库,使用时临时保存在客户端,而不是保存在数据库.基本语法: declare 变量声明.初始化 begin 业务处理.逻辑代码 exc ...

  3. 手撸原生js放大镜效果

    普及知识:放大镜特效涉及到的几个值 offsetWidth    获取元素的宽度offsetHeight  获取元素的高度offsetLeft父元素没有定位时,获取元素距离页面的左边距,父元素有定位时 ...

  4. 深入理解Mybatis分库分表执行原理

    前言 工作多年,分库分表的场景也见到不少了,但是我仍然对其原理一知半解.趁着放假前时间比较富裕,我想要解答三个问题: 为什么mybatis的mapper.xml文件里的sql不需要拼接表名中的分表? ...

  5. 简单聊一下*SWITCH*交换机的作用

    交换机 交换机工作在数据链路层的物理设备或者说是接入层的物理设备,转发数据帧. 随着企业网络的发展,越来越多的用户需要接入到网络,交换机提供的大量的接入端口能够很好地满足这种需求.同时,交换机也彻底解 ...

  6. Oracle数据快照设置

    1.1 手册目的 该手册主要目的是用于生产环境排查问题及恢复用户误操作删除数据及程序错误导致数据丢失使用. 1.2 查看Undo表空间参数 在命令窗口查询Undo表空间的快照参数 1 show par ...

  7. Netty实战入门教程

    概述 Netty 是一个异步的.基于事件驱动的网络应用框架,用于快速开发可维护.高性能的网络服务器和客户端 Netty 在 Java 网络应用框架中的地位就好比:Spring 框架在 JavaEE 开 ...

  8. 部署Palworld幻兽帕鲁服务器最佳实践(Ubuntu)

    本文为您介绍Ubuntu系统部署Palworld幻兽帕鲁服务器的最/佳实践. 1.登录云主机控制台,选择创建云主机的资源池,点击"创建云主机"按钮. 2.基础配置. CPU架构选择 ...

  9. macos修改hosts后清理dns缓存

    sudo killall -HUP mDNSResponder sudo killall mDNSResponderHelper sudo dscacheutil -flushcache

  10. AI如何改变数据驱动决策的方式

    导语 在这个信息爆炸的时代,数据成为了企业和组织最为宝贵的资源.然而,单纯的数据堆积并没有太大价值,只有通过分析和挖掘,才能真正发挥数据的潜力.随着AI技术的飞速发展,我们正见证着数据驱动决策方式发生 ...