shell中echo和printf在终端输出时更改文本颜色

      shell中更改echo或printf的输出颜色可以使用相应的ANSI转义码(ANSI Escape Codes)来实现:各种常用颜色的ANSI如下所示,截图来自于 geeksforgeeks.org

      八进制格式应采用以下格式给出:八进制格式必须以名为\033[的参数为前缀,后跟需要指定的颜色的code

Red='\033[0;31m'

      所有ANSI转义码都以转义字符开头,可以用多种格式表示:十进制的27、十六进制的\x1B或八进制格式的\033,后紧跟一个控制键[(表示不可打印字符序列的开始)
      ANSI代码不仅限于颜色,还可以应用于样式:代码0..9代表文本样式,而代码30...37代表颜色。同样,你可以使用代码40..47更改这些文本的背景颜色。
      对于无颜色或结束设置,转义字符为:'\033[0m',恢复默认颜色,0为重置

      以下为测试代码:

#! /bin/bash# print the output in red color
RED='\033[0;31m'
echo -e "${RED}RED Colored Statement"# print the output in green color
GREEN='\033[0;32m'
echo -e "${GREEN}Green Colored Statement"# print the output in blue color
BLUE='\033[0;34m'
echo -e "${BLUE}BLUE Colored Statement"echo -e "${RED}csdn addr:${GREEN}https://blog.csdn.net/fengbingchun\n${RED}github addr:${BLUE}https://github.com/fengbingchun"# For No Color, the escape character is '\033[0m'
echo -e "\033[0mNo Color"printf "${RED}%s ${GREEN}%s ${BLUE}%s\n" RED GREEN BLUEecho -e "\e[1;32mLightGreen \e[0mNoColor" # 十进制的27
echo -e "\E[0;33mOrange \E[0mNoColor" # 十进制的27
echo -e "\x1b[1;34mLightBlue \x1b[0mNoColor" # 十六进制的\x1b
echo -e "\x1B[0;36mCyan \x1B[0mNoColor" # 十六进制的\x1B
echo -e "\033[1;31mLightRed \033[0mNoColor" # 八进制格式的\033echo "test finish"

      Windows和Linux下执行结果如下图所示:

      GitHub:https://github.com/fengbingchun/Linux_Code_Test

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

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

相关文章

Postman工具使用一篇快速入门教程

文章目录 下载安装注册登录CollectionFolderRequestGet请求Post请求Header设置Response响应 EnvironmentsGlobal环境变量其他环境变量Collection变量变量使用同名变量的优先级 Postman内置变量Pre-request script和Test script脚本设置、删除和获取变量获取请求参数获取响应数据…

如何使用创建时间给文件重命名,简单的批量操作教程

在处理大量文件时,有时要按照规则对文件重命名,根据文件的创建时间来重命名。那如何批量操作呢?现在一起来看云炫文件管理器如何用文件的创建时间来批量重命名。 按创建时间重命名文件的前后对比图。 用创建时间批量给文件重命名的步骤&…

redis高级篇之单线程和多线程

目录 1、redis的发展史 2、redis为什么选择单线程? 3、主线程和Io线程是怎么协作完成请求处理的? 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程,4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…

微信小程序开发学习笔记《8》tabBar

微信小程序开发学习笔记《8》tabBar 博主正在学习微信小程序开发,希望记录自己学习过程同时与广大网友共同学习讨论。tabBar官方文档 tabBar这一节还是相当重要的。 一、什么是tabBar tabBar是移动端应用常见的页面效果,用于实现多页面的快速切换。小…

代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II 文章目录 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II1 Le…

Unity中URP中的光照简介

文章目录 前言URP下的光照在Unity中的设置1、主灯设置2、额外灯设置3、反射光设置 前言 我们在这篇文章开始了解URP下的光照。 URP下的光照在Unity中的设置 1、主灯设置 主灯可以选择 禁用 或 逐像素 光照 当选择逐像素光照的主灯后 Cast Shadows:可以选择开启 或…

CMake在静态库中链接静态库

hehedalinux:~/Linux/multi-v2$ tree . ├── calc │ ├── add.cpp │ ├── CMakeLists.txt │ ├── div.cpp │ ├── mult.cpp │ └── sub.cpp ├── CMakeLists.txt ├── include │ ├── calc.h │ └── sort.h ├── lib │ ├── l…

Linux中关于日期和时区的操作(date命令、ntp程序自动校准时间)

1.date命令 语法:date [-d] [格式化字符串] -d 按照给定的字符串显示日期,一般用于日期计算 格式化字符串:通过特定的字符串标记,来控制显示的日期格式 %Y 年 %y 年份后两位数字 (00..99) %m 月份 (01..12) %d 日 (…

【Linux 内核源码分析】进程调度 -CFS 调度器

Linux调度器 Linux内核调度器是负责决定哪个进程在何时执行的组件。它管理着CPU资源的分配和任务的调度,以确保系统资源的合理利用和任务的高效执行。Linux内核中常见的调度器有多种,包括经典的O(1)调度器、CFS(Completely Fair Scheduler&a…

6个免费/商用图片素材网站

推荐6个免费可商用图片素材网站,收藏走一波~ 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYwNDUx 我推荐过很多次的设计素材网站,除了设计类素材,还有很多自媒体可以用到的高清图片、背景图、插画、视频、音频素材等等。网站提供的图…

蓝桥杯省赛无忧 STL 课件16 set

01 set集合 修改set比较方法的常见手段&#xff0c;后面的multiset类似 #include<bits/stdc.h> using namespace std; int main() {set<int,greater<int>> myset;myset.insert(25);myset.insert(17);myset.insert(39);myset.insert(42);for(const auto&…

MySQL的导入导出及备份

一.准备导入之前 二.navicat导入导出 ​编辑 三.MySQLdump命令导入导出 四.load data file命令的导入导出 五.远程备份 六. 思维导图 一.准备导入之前 需要注意&#xff1a; 在导出和导入之前&#xff0c;确保你有足够的权限。在进行导入操作之前&#xff0c;确保目标数据…

视频SDK的技术架构优势和价值

为了满足企业对于高质量视频的需求&#xff0c;美摄科技推出了一款强大的视频SDK&#xff08;软件开发工具包&#xff09;&#xff0c;旨在帮助企业轻松实现高效、稳定的视频功能&#xff0c;提升用户体验&#xff0c;增强企业竞争力。 一、美摄视频SDK的技术实现方式 美摄视…

专业课148,总分410+电子科技大学858信号与系统考研经验电子信息与通信

今年专业课148分&#xff0c;总分410顺利被电子科技大学录取&#xff0c;回望这一年复习还有很多不足&#xff0c;总结一下自己的复习经历&#xff0c;希望对大家复习有所帮助。 数学&#xff1a;&#xff08;多动手&#xff0c;多计算&#xff0c;多总结&#xff0c;打好基础…

Kotlin-变量定义,与类型

Kotlin-变量定义 变量定义整型浮点型字符型整型之间的转换Boolean类型Null安全安全调用Elvis运算 字符串 变量定义 Kotlin可以定义的时候不标明数据的数据类型&#xff0c;编译器会根据初始值确定类型 fun main() {var b:Intvar name "crazyit.org"//声名变量的时…

Rust-数组

数组是一个容器&#xff0c;它在一块连续空间内存中&#xff0c;存储了一系列的同样类型的数据。 数组中元素的占用空间大小必须是编译期确定的。 数组本身所容纳的元素个数也必须是编译期确定的&#xff0c;执行阶段不可变。 如果需要使用变长的容器&#xff0c;可以使用标…

接雨水的四种姿势——一篇文章彻底弄懂接雨水问题

前言 leetcode 42. 接雨水是一道业内著名的hard题&#xff0c;多次出现在面试场上&#xff0c;经久不衰&#xff0c;难住了一届又一届的候选人。 作为leetcode上热度最高的题目之一&#xff0c;题目评论区也是好一番热闹景象。有人表示看了三天做不出来&#xff0c;有人在评论…

Kubernetes (十一) 存储——Secret配置管理

一. 简介 从文件创建 echo -n admin > ./username.txt echo -n westos > ./password.txt kubectl create secret generic db-user…

蓝凌EIS智慧协同平台 doc_fileedit_word.aspx 存在 SQL注入漏洞

产品简介 蓝凌EIS智慧协同平台是一款专为企业提供高效协同办公和团队合作的产品。该平台集成了各种协同工具和功能&#xff0c;旨在提升企业内部沟通、协作和信息共享的效率。 漏洞概述 由于蓝凌EIS智慧协同平台 doc_fileedit_word.aspx接口处未对用户输入的SQL语句进行过滤…

NUS CS1101S:SICP JavaScript 描述:四、元语言抽象

原文&#xff1a;4 Metalinguistic Abstraction 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 …魔法就在于文字——Abracadabra&#xff0c;开门&#xff0c;以及其他——但一个故事中的魔法词在另一个故事中并不神奇。真正的魔法是理解哪些词起作用&#xff0c;何时…