说明

  • \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. JMeter 线程组全家桶教程

    宝子们,今天咱就来唠唠 JMeter 里那些超重要的线程相关的玩意儿,学会了它们,你就能在性能测试的世界里 "横冲直撞" 啦! 一.线程组 -- 性能测试的主力军 想象一下,你开了 ...

  2. (四).NET6.0程序部署到Docker上

    1.确保安装Docker 2.把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选择 Linux 然后会自动生成Docke ...

  3. Solution -「JOISC 2017」「LOJ #2392」烟花棒

    \(\mathscr{Description}\)   Link.   有 \(n\) 个人站在数轴上,第从左往右第 \(i\) 个人的坐标是 \(x_i\),每个人手上有一支烟花棒,每支烟花棒能燃烧 ...

  4. Spring Boot 如何使用拦截器、过滤器、监听器

    过滤器的使用 首先需要实现 Filter接口然后重写它的三个方法 init 方法:在容器中创建当前过滤器的时候自动调用 destory 方法:在容器中销毁当前过滤器的时候自动调用 doFilter 方 ...

  5. 【Git】---工作区、暂存区、版本库、远程仓库

    工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或 ...

  6. 转载:大模型所需 GPU 内存笔记

    转载文章:大模型所需 GPU 内存笔记 引言 在运行大型模型时,不仅需要考虑计算能力,还需要关注所用内存和 GPU 的适配情况.这不仅影响 GPU 推理大型模型的能力,还决定了在训练集群中总可用的 G ...

  7. 所生成项目的处理器架构“MSIL”与 “x86”不匹配

    在 .net 生成时如果修改过某个类库的平台目标,那么通常会出现下面的警告: 之所以产生这个问题是因为类库的"平台目标"不统一,如果选择了 x86, 那么解决方案中所有的项目都应设 ...

  8. JMeter中的JavaScript加密实战

    JMeter中的JavaScript加密实战 在性能测试领域,Apache JMeter 作为一款强大的开源工具,广泛应用于模拟多用户并发请求以评估应用程序的性能.然而,在实际的测试场景中,直接传输明 ...

  9. [HAOI2018] 染色 题解

    第一眼肯定想到容斥.设 \(G(k)\) 表示至少有 \(k\) 种颜色符合要求,\(F(k)\) 表示恰好有 \(k\) 种颜色符合要求.显然 \(k\) 的上界 \(t=\min(m,\lfloo ...

  10. WPF .Net Core 3.1遇到Satellite Assemblies无法正常加载的处理

    1.原因 加载的时候没有调取 AssemblyLoadContext.Default 2.解决方案: 在程序启动的时候,手动调用 /// <summary> /// Interaction ...