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/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 "本窗口可以关闭啦!"

你可能感兴趣的:(运维,服务器,linux,前端,运维,shell,color,shell文字颜色)