shell 控制台显示彩色文字的方法

news2024/11/15 1:36:27

在shell脚本中,如果我们希望在控制台能显示带颜色的文字, 那就需要使用shell中的色彩专用变量代码来进行. 

shell中的各种颜色代码定义

# 颜色定义
BLACK="\033[0;30m"  
DARK_GRAY="\033[1;30m"  
BLUE="\033[0;34m"  
LIGHT_BLUE="\033[1;34m"  
GREEN="\033[0;32m"  
LIGHT_GREEN="\033[1;32m"  
CYAN="\033[0;36m"  
LIGHT_CYAN="\033[1;36m"  
RED="\033[0;31m"  
LIGHT_RED="\033[1;31m"  
PURPLE="\033[0;35m"  
LIGHT_PURPLE="\033[1;35m"  
BROWN="\033[0;33m"  
YELLOW="\033[0;33m"  
LIGHT_GRAY="\033[0;37m"  
WHITE="\033[1;37m" 

# 颜色显示结尾定义 
NC="\033[0m"

在我们定义了以上的颜色变量后就可以在shell里面使用这些变量来让shell帮我们把文字显示为彩色 了.   

如我们需要将  Hello world 在控制台显示为红色

代码如下:

#!/bin/bash

RED="\033[0;31m"

NC="\033[0m"

echo "${RED} Hello world! ${NC}"

我们只需要定义红色代码变量和结尾变量, 然后在要显示颜色的文字前后加上变量即可.

shell文字彩色显示完整示例

下面这个shell代码就可以将各种不同的文本以不同的颜色进行显示, 作用是用来在macos中修复损坏app提示.

#!/bin/bash
clear
BLACK="\033[0;30m"  
DARK_GRAY="\033[1;30m"  
BLUE="\033[0;34m"  
LIGHT_BLUE="\033[1;34m"  
GREEN="\033[0;32m"  
LIGHT_GREEN="\033[1;32m"  
CYAN="\033[0;36m"  
LIGHT_CYAN="\033[1;36m"  
RED="\033[0;31m"  
LIGHT_RED="\033[1;31m"  
PURPLE="\033[0;35m"  
LIGHT_PURPLE="\033[1;35m"  
BROWN="\033[0;33m"  
YELLOW="\033[0;33m"  
LIGHT_GRAY="\033[0;37m"  
WHITE="\033[1;37m" 
NC="\033[0m"

echo ""
echo ""
echo -e "${LIGHT_CYAN} mac.tekin.cn ${NC} - 精品Mac/win软件分享"

parentPath=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd "$parentPath"
appPath=$( find "$parentPath" -name '*.app' -maxdepth 1)
# 截取最后一次出现 / 右边的内容, 如: /Applications/Sublime Text.app 获取 Sublime Text.app
appName=${appPath##*/}
appBashName=${appName// /\ }

appDIR="/Applications/${appBashName}"

echo ""
echo -e "『${appBashName} 已损坏,无法打开/ 来自身份不明的开发者』等问题修复工具"
echo ""
#未安装APP时提醒安装,已安装绕过公证
if [ ! -d "$appDIR" ];then
  echo ""
  echo -e "执行结果:${RED}您还未安装 ${appBashName} ,请先安装${NC}"
  else
  #绕过公证
  echo -e "${YELLOW}请输入开机密码,输入完成后按下回车键(输入过程中密码是看不见的)${NC}"
  sudo spctl --master-disable
 sudo xattr -rd com.apple.quarantine /Applications/"$appBashName"
  echo ""
  echo ""
  echo -e "执行结果:${GREEN}修复成功!${NC}您现在可以正常运行 ${appBashName} 了。"
  echo -e ""
  echo -e "更多精品Mac软件尽在tekin.cn精品软件${BLUE} - https://mac.tekin.cn ${NC}"
fi
echo ""
echo ""
echo -e "本窗口可以关闭啦!"

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

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

相关文章

vscode中全局代码片段怎么改名字

在使用vscode定义自己的代码片段的时候,有几个选项,如果我们选择了 vue.json 的文件定义代码片段,那么只能在 vue 文件中使用该片段,并且是 vue 文件中没有写其他代码的时候,如果 vue 文件中写了其他代码,那…

2024 小米芯片笔试

题型:单选题 时间:40分钟 知识点设计:数电(很多)、模电(很多)、电路(很多)、V(4-5道)、SV(1道) 感觉:??&am…

Chrome extension 谷歌浏览器插件 YouTube 监听地址栏 url 变化

一、前言 最近在开发一个 YouTube 视频 AI 总结的插件,过程中遇到了一个问题,每次用户点击当前页面其它视频时,组件并不会重新挂载,这就导致视频明明都变了,但是总结依旧还是上次的内容,很影响体验。 为…

2024年全国大学生数学建模竞赛(C题) 建模解析|农作物的种植策略|小鹿学长带队指引全代码文章与思路

我是鹿鹿学长,就读于上海交通大学,截至目前已经帮200人完成了建模与思路的构建的处理了~ 本篇文章是鹿鹿学长经过深度思考,独辟蹊径,实现综合建模。独创复杂系统视角,帮助你解决国赛的难关呀。 完整内容可以…

OpenHarmony轻松玩转GIF数据渲染

OpenAtom OpenHarmony(以下简称“OpenHarmony”)提供了Image组件支持GIF动图的播放,但是缺乏扩展能力,不支持播放控制等。今天介绍一款三方库——ohos-gif-drawable三方组件,带大家一起玩转GIF的数据渲染,搞…

【Java】Spring-AOP与拦截器实战 (上手图解)

Java系列文章目录 补充内容 Windows通过SSH连接Linux 第一章 Linux基本命令的学习与Linux历史 文章目录 Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1 认识依赖4.2 使用AOP与拦截器4.2.1 使用AOP4.2.1.1 设置DemoAop类4.2.2.2 设…

Linux驱动环境配置

Linux驱动环境配置 1.u-boot烧录2.Linux设置3.u-boot命令4.u-boot环境变量相关命令5.tftp安装与配置6.nfs7.配置网络环境变量8.tftp下载9.nfs挂载根文件系统 1.u-boot烧录 1.打开J-Flash 2.打开工程(Open Project) 3.Open data file 4.设置起始地址0x0 5.选择Target-Conne…

【Java毕业设计】基于SpringBoot+Vue+uniapp的农产品商城系统

文章目录 一、系统架构1、后端:SpringBoot、Mybatis2、前端:Vue、ElementUI4、小程序:uniapp3、数据库:MySQL 二、系统功能三、系统展示1、小程序2、后台管理系统 一、系统架构 1、后端:SpringBoot、Mybatis 2、前端…

【学术会议征稿】第三届智慧能源与电气工程国际学术会议(SEEE 2024)

第三届智慧能源与电气工程国际学术会议(SEEE 2024) 2024 3rd International Conference on Smart Energy and Electrical Engineering(SEEE 2024) 在双碳目标背景下,能源行业正在面临着绿色低碳转型的巨大挑战。随着我国产业结构全面调整&am…

show命令监控分析mysql实例信息

文章目录 思维导图show 查看数据库实例相关信息SHOW VARIABLES 分析数据库当前变量设置分析连接数据分析线程数分析慢查询变量分析缓存相关分析字符集相关SHOW STATUS 数据库当前实时状态分析分析连接数据分析线程数分析慢查询分析查询缓存分析排序使用情况分析文件打开数思维导…

09-03 周二 ansible部署与使用指南

09-03 周二 ansible部署与使用指南 时间版本修改人描述2024年9月3日10:08:58V0.1宋全恒新建文档,2024年9月4日13:57:25v0.2宋全恒调整结构,添加ansible-playbook和ansible-inventory 简介 首先要找一个跳板机,来确保所有的机器都可以访问。然…

OpenAI gym‘s breakout-v0 “pauses“

题意:OpenAI Gym 的 breakout-v0 “暂停” 问题背景: While training in the OpenAI gym environment I have the idea that the environment sometimes "stops". For many frames in a row no ball is visible/stops spawning. 在 OpenAI G…

网站代运维与建设:HTTP虚拟专线的优势

网站代运维与建设:HTTP虚拟专线的优势 企业和个人越来越依赖于网站来展示品牌形象、提供服务和与客户互动。然而,网站的建设和运维往往需要投入大量时间和资金,尤其是在服务器费用和技术维护方面。本文将探讨如何通过使用HTTP虚拟专线来降低…

【鸿蒙开发笔记】如何理解 UIAbility 组件以及它的生命周期

UIAbility 组件是一种包含了 UI 的应用组件,主要用于和用户交互。 UIAbility 组件是系统调度的基本单元,为应用提供绘制界面的窗口,一个应用可以有多个 UIAbility 组件。 每一个 UIAbility 组件实例都会在最近任务列表中显示为一个对应的任务…

【Python】Windows环境下更改pip安装源

文章目录 1.前言2.pip临时安装更改源3.pip永久更改安装源3.1方法13.2方法2 1.前言 由于pip的默认的安装源在国外,导致我们在使用pip命令安装Python 库或包时速度特别慢,因此我们可以临时使用国内的源进行下载,或者直接更改pip的下载源 2.pip临时安装更改源 pip install xxx …

微服务——服务注册和发现(二)

服务注册和发现 1.4.服务发现 服务的消费者要去nacos订阅服务,这个过程就是服务发现,步骤如下: 引入依赖 配置Nacos地址 发现并调用服务 1.4.1.引入依赖 服务发现除了要引入nacos依赖以外,由于还需要负载均衡,因…

思科IP访问控制列表3

#网络安全技术实现# #任务三扩展访问控制列表的控制3# #1配置计算机的IP 地址、子网掩码和网关 #2配置Switch-A的主机名称,创建vlan 10,20,30,并将Fa0/1划入vlan 10,Fa0/2划入vlan 20,G0/1划入vlan 30 Switch(config)#hostname Switch-A S…

QML学习二:Qt启用qml文件实时预览编辑,以及打印日志到控制台

开发环境:Qt 6.5.3 LTS 1、Qt 6.5.3 LTS 2、Pyside6 3、Python 3.11.4 效果如下,右侧更改的代码可以实时反映到左侧的设计器中。 Qt启用qml文件实时预览编辑,以及打印日志到控制台 一、打开Qt Designer插件二、qml和Python文件打印输出到…

2024年高教社杯数学建模国赛C题超详细解题思路分析

本次国赛预测题目难度,选题人数如下所示 难度评估 A:B:C 1.8:1.3:1 D:E1.5:1 选题人数 A:B:C 1:1.5:2.8 D:E0.5:1.2 C题一直以来都是竞赛难度最低、选题人数最多的一道本科生选题,近三年C题的选题人数一直都是总参赛队伍的一半左右,2023年…

二进制方式安装K8S

⼀、安装说明 本⽂章将演示Rocky 8 ⼆进制⽅式安装⾼可⽤k8s 1.28.0版本。 ⽣产环境中,建议使⽤⼩版本⼤于5的Kubernetes版本,⽐如1.19.5 以后的才可⽤于⽣产环境。 ⼆、集群安装 2.1 基本环境配置 请统⼀替换这些⽹段,Pod⽹段和service和…