当前位置: 首页 > news >正文

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

在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/bashRED="\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" ];thenecho ""echo -e "执行结果:${RED}您还未安装 ${appBashName} ,请先安装${NC}"else#绕过公证echo -e "${YELLOW}请输入开机密码,输入完成后按下回车键(输入过程中密码是看不见的)${NC}"sudo spctl --master-disablesudo 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.lryc.cn/news/430841.html

相关文章:

  • Nginx: 缓存, 不缓存特定内容和缓存失效降低上游压力策略及其配置示例
  • Python 全栈系列266 Kafka服务的Docker搭建
  • 集合框架,List常用API,栈和队列初识
  • 构建全景式智慧文旅生态:EasyCVR视频汇聚平台与AR/VR技术的深度融合实践
  • C++结构体声明时初始化
  • 基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic
  • 9、设计模式
  • 数学专题.
  • 如何提升网站的收录率?
  • HALCON根据需要创建自定义函数
  • 力扣SQL仅数据库(196~569)
  • 网络基础:理解IP地址、默认网关与网段(IP地址是什么,默认网关是什么,网段是什么,IP地址、默认网关与网段)
  • windows安装php7.4
  • 【代码随想录|图论part03之后】
  • 【项目一】基于pytest的自动化测试框架day1
  • 如何下载和安装 Notepad++
  • 笔记:如何使用Process Explorer分析句柄泄露溢出问题
  • HTTP/2
  • 如何在算家云搭建ComfyUI(AI绘画)
  • 公司的企业画册如何制作?
  • 13、Django Admin创建两个独立的管理站点
  • 使用docker compose一键部署 Openldap
  • 网站代运维与建设:HTTP虚拟专线的优势
  • 奇异递归模板模式(Curiously Recurring Template Pattern)
  • 【ArcGIS Pro实操第一期】最小成本路径(Least-cost path)原理及实操案例
  • 探索C++编程技巧:计算两个字符串的最长公共子串
  • 等保2.0--安全计算环境--TiDB数据库
  • 【unity实战】使用新版输入系统Input System+Rigidbody实现第三人称人物控制器(附项目源码)
  • 代码随想录算法训练营Day03 | 链表理论基础、203.移除链表元素 、707.设计链表、206.反转链表
  • 【总结】CSS(SCSS) 不常用属性