转义字符\033(设置终端的字体显示效果)

news/2024/5/8 8:15:55/文章来源:https://blog.csdn.net/oqqHuTu12345678/article/details/129327297

以下内容源于网络资源的学习与整理,如有侵权请告知删除。

参考博客

命令行特殊显示效果\033和发声音\007_华硕他哥的博客-CSDN博客

'\033'格式:指定输出格式_51CTO博客_wkt格式

一、\033的说明 

在关于ASCII字符的那些事儿中提到,ASCII字符可以使用前面带反斜杠的八进制或者十六进制数字来表示单个字符。

这里的\033就是这个意思,反斜杠后面的033是八进制,化为十进制是27,对应着ASCII字符集表格上十进制编号为27的字符,即ESC。这个字符用来控制打印机的输出格式。

二、设置显示效果 

1、格式说明 

在linux中,我们可以利用这个字符来设置终端上的字体显示效果。

比如使用echo命令并利用\033控制字体显示效果的格式如下:

echo -e "\033[参数1;参数2;参数3m要显示的内容\033[0m

(1)\033[参数1;参数2;参数3m,是控制码的写法,表明后面待显示内容的格式。

(2)参数1表示字体背景颜色,可选值为40~49、100~107;参数2表示字体颜色,可选值为30~39、90~97;参数3表示显示效果,可选值为0~8。这些数字的含义见附录。

(3)要显示的内容中可以有变量的引用,显示的时候会展开变量的内容。

(4)\033[0m是具体的控制码,表明关闭所有属性。如果在格式最后没有添加这个控制码来关闭所有属性,那么“\033[字体背景颜色;字体颜色m”所设置的格式将应用于接下来的所有显示。

当然也可以根据需要修改这个具体的控制码,但一般不这么做。

2、注意事项

(1)如果没有设置字体背景颜色这个内容,则不需要添加字体颜色之前的分号。

比如echo -e "\033[36mwhat's your name:\033[0m"的显示效果如下:

(2)字母m和结尾\033[0m之间的内容,就是要显示在终端的内容。字母m后面如果紧跟着空格,那么也会被当做字符输出。

(3)如果要显示的内容结尾是某个特殊符号(比如!)则可能会报错,需要在这个特殊符号与\033[0m之间输入一个空格。

附录

(1)字体颜色设置说明(斜杆前后的数字表示同一种颜色,但斜杆后面的数字让颜色更亮)。

数字描述
30\90黑色

31\91

红色
32\92绿色
33\93黄色
34\94蓝色
35\95紫色
36\96深绿
37\97白色

(2)字体背景颜色设置说明(斜杆前后的数字表示同一种颜色,但斜杆后面的数字让颜色更亮)

数字描述
40\100黑色

41\101

红色
42\102绿色
43\103黄色
44\104蓝色
45\105紫色
46\106深绿
47\107白色

(3) 控制码说明

控制码含义
\033[0m关闭所有属性 
\033[1m设置高宽度
\033[4m下划线 
\033[5m闪烁 
\033[7m反显
\033[8m消隐
\033[30m ~ \033[37m  设置前景色
\033[40m ~ \033[47m设置背景色
\033[nA  光标上移n行
\033[nB光标下移n行 
\033[nC光标右移n行 
\033[nD光标左移n行 
\033[y;xH设置光标位置 
\033[2J清屏 
\033[K清除从光标到行尾的内容 
\033[s保存光标位置
\033[u恢复光标位置
\033[?25l隐藏光标
\033[?25h显示光标

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_77624.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java软件开发好学吗?学完好找工作吗?

互联网高速发展的当下,Java语言无处不在:手机APP、Java游戏、电脑应用,都有它的身影。作为最热门的开发语言之一,Java在编程圈的地位不可撼动。可是,听名字就很专业的样子。Java语言到底好学吗?刚入坑编程圈…

Java 方法简介

如果需要经常做某一操作,则需要重复写类似的代码,比如查找某个数。此外,某些复杂的操作需要分成多个步骤进行,以便理解和维护。 为此,计算机引入了函数的概念,用来减少重复代码,分解复杂操作。…

华为机试题:HJ108 求最小公倍数(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

基于 explore_lite包 的单个机器人自主探索建图

文章目录一、简介二、安装 explore_lite三、launch 文件配置四、实验效果五、常见问题机器人自主建图有很多方式,比如基于位置边界的map-explore,基于快速搜索树的rrt-explore,指定区域自主探索建图frontier-explore,这几种方法各…

高码率QPSK调制解调方案(FPGA实现篇)

在前面的章节中,已经讲过QPSK调制的方案和Matlab算法仿真,在本篇中,主要讲解基于FPGA的高速QPSK调制的实现。根据前面提到的技术指标,本系统传输的数据速率为500Mbps,中频为720MHz,因此,传统的串行QPSK调制已经不合适在FPGA中实现,需采用全数字的并行方式进行调制,具体…

Redis学习【11】之分布式系统

文章目录一 数据分区算法1.1 顺序分区1.1.1 轮询分区算法1.1.2 时间片轮转分区算法1.1.3 数据块分区算法1.1.4 业务主题分区算法1.2 哈希分区1.2.1 节点取模分区算法1.2.2 一致性哈希分区算法1.2.3 虚拟槽分区算法二 分布式系统环境搭建与运行2.1 系统搭建2.1.1 系统架构2.1.2 …

LeetCode 349. 两个数组的交集和 692. 前K个高频单词

两个数组的交集 难度 简单 题目链接 这道题的难度不大,我们可以把数组里的数据存到set里面。这样就完成了排序和去重,然后我们再把一个set里面的数据和另外一个set数据进行比较。如果相同就插入到数组里。 代码如下: 但是这个算法的时间复…

【教学典型案例】14.课程推送页面整理-增加定时功能

目录一:背景介绍1、代码可读性差,结构混乱2、逻辑边界不清晰,封装意识缺乏![在这里插入图片描述](https://img-blog.csdnimg.cn/bbfc5f04902541db993944ced6b62793.png)3、展示效果不美观二:案例问题分析以及解决过程1、代码可读性…

数学建模(一):LP 问题

文章目录数学建模(一):LP 问题一、 MATLAB求解二、 Python 求解数学建模(一):LP 问题 在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问…

IP 地址的简介

IP 地址 Internet 依靠 TCP/IP 协议,在全球范围内实现不同硬件结构、不同操作系统、不同网络系统的主机之间的互联。在 Internet 上,每一个节点都依靠唯一的 IP 地址相互区分和相互联系,IP 地址用于标识互联网中的每台主机的身份&#xff0c…

IDEA这些配置,简单高效

优化导包配置配置路径:File-> settings -> Editor -> General -> Auto ImportAdd unambiguous imports on the fly:自动导包Optimize imports on th fly (for current project):自动删除无用包代码提示取消大小写配置路径&#x…

UML2——行为图

目录 一、前言 二、活动图 三、交互图 3.1 一般序列图 3.2 时间约束序列图 3.3 协作图 四、用例图 五、状态图 一、前言 UML 是由视图(View)、图(Diagrams)、模型元素(Model elements)和通用机制等几…

Python GUI界面编程-初识

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示屏的特定位置&#xf…

mac M1 nvm安装教程,避坑

mac M1 nvm 安装问题 新款的mac搭载了苹果自研的芯片,放弃了intel的x86芯片,那之前的软件难免会存在兼容性问题。 鄙人有幸踩了第一个坑。 在通过nvm 安装不同版本的node 时,出现了问题。 问题一:先说一下 nvm的安装问题&#…

现代操作系统——Linux架构与学习

小白的疑惑 在我决定从事嵌入式(应用层)方面的工作时,我查询了大量资料该如何学习,几乎所有观点不约而同的都指向了学习好Linux,大部分工作都是在Linux环境下来进行工作的。于是我雄心勃勃的去下载Linux,可…

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析1.ERA5介绍2.初始ERA5数据2.1 DAILY代码2.2 MONTHLY代码3.遥感影像查看(DAILY之mean_2m_air_temperature)4.逐日数据分析和获取(以mean_2m_air_temperature为例)5.逐月数据…

[神经网络]Swin Transformer网络

一、概述 Swin Transformer是一个用了移动窗口的层级式Vision Transformer。 在图像领域,Transformer需要解决如下两个问题: ①尺度问题:同一语义的物体在图像中有不一样的尺度。(大小不同) ②Resolution过大:若以像素点作为单位&…

呼吸机方案 以 MM32F3270 为主控板,MM32SPIN05PF 为电机控制主控

呼吸机的作用是让氧气进入肺部并排出二氧化碳,帮助病患顺利呼吸。呼吸机连接一条管子到患者的嘴或鼻子,氧气量可以通过监视器加以控制。 基于灵动微控制器的呼吸机,以 MM32F3270 为主控板,MM32SPIN05PF 为电机控制主控&#xff1…

python 操作word库docx 增强接口

前言用python 的docx 库操作word完成一些自动化的文档生成工作,但有时候会遇到docx库提供的操作无法直接满足业务上的需求,需要对其进行一些扩展。接口完善实现在指定的文字后面插入指定的文字任务:以下示例需要在文档中的所有 "人生苦短…

【SpringMVC】springMVC介绍

参考资料 视频资料 03_尚硅谷_SpringMVC_SpringMVC简介_哔哩哔哩_bilibili 笔记资料 第一节 SpringMVC概述 (wolai.com)链接:https://pan.baidu.com/s/1A7BX2TNfbGTpYene4x3Mew 提取码:a8d5 一、SpringMVC简介 1、什么是MVC MVC是一种软件架构的思…