shell脚本输出输出带颜色内容
来源:互联网 发布:男友忙后没时间 知乎 编辑:程序博客网 时间:2024/05/19 09:04
本文主要介绍了如何在shell脚本中输出带颜色的内容。
shell脚本中 echo 和 printf 都可以输出内容。 我们看以下示例
echo -e "\033[43;35m david use echo say Hello World \033[0m \n" printf "\033[44;36m david use printf say Hello World \033[0m \n" echo -e "\033[47;30;5m david use echo say \033[0m Hello World \n"
输出如下:
它的格式是这样的:
echo -e "\033[字背景颜色;字体颜色m 字符串 \033[0m" 或者printf "\033[字背景颜色;字体颜色m 字符串 \033[0m" 或者echo -e "\033[字背景颜色;字体颜色m;ascii码m 字符串 \033[0m 字符串(can null) \n"
原理
这里以一个例子来说明:
echo -e "\033[47;30;5m david use echo say \033[0m Hello World \n"
作用:
42->背景色为白色,
30->字体为黑色,
5->字体闪烁,
0->关闭所有属性
输出字符 “david use echo say”,然后重新设置屏幕到缺省设置,输出字符 “Hello World”后颜色回复正常
-e是echo的一个可选项,用于激活特殊字符的解析器, 也就是对反斜线转义符(即\)的解释。\033引导非常规字符序列。意味着设置属性然后结束非常规字符序列,这里起效果的字符是
47;30;5和0。修改47;30;5可以生成不同颜色的组合,数值和编码的前后顺序没有关系。
组合命令:
echo -e "\033[20;1H\033[1;4;32m david use echo say \033[0m Hello World \n"
这行命令首先\033[20;1H将光标移动到终端第20行第1列,之后的\033[1;4;32m将文本属性设置为高亮、带下划线且颜色为绿色,然后输出Hello,world;最后\033[0m将终端属性设为缺省,这样就不会看到连命令完成后的命令提示符也变了样儿了。
我们可以通过各种命令的组合可以实现对终端输出地复杂控制。
范围
0 重新设置属性到缺省设置1 设置粗体2 设置一半亮度(模拟彩色显示器的颜色)4 设置下划线(模拟彩色显示器的颜色)5 设置闪烁7 设置反向图象8 消隐 22 设置一般密度24 关闭下划线25 关闭闪烁27 关闭反向图象// 字体颜范围(前景颜色):30~3930:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色 38:在缺省的前景颜色上设置下划线39:在缺省的前景颜色上关闭下划线// 字背景颜色范围(背景颜色):40~49 40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色 nA 光标上移n行 nB 光标下移n行 nC 光标右移n行 nD 光标左移n行 y;xH设置光标位置 2J 清屏 K 清除从光标到行尾的内容 s 保存光标位置 u 恢复光标位置 ?25l 隐藏光标 ?25h 显示光标
一些颜色
echo -e "\033[0m none \033[0m"echo -e "\033[30m black \033[0m"echo -e "\033[1;30m dark_gray \033[0m"echo -e "\033[0;34m blue \033[0m"echo -e "\033[1;34m light_blue \033[0m"echo -e "\033[0;32m green \033[0m"echo -e "\033[1;32m light_green \033[0m"echo -e "\033[0;36m cyan \033[0m"echo -e "\033[1;36m light_cyan \033[0m"echo -e "\033[0;31m red \033[0m"echo -e "\033[1;31m light_red \033[0m"echo -e "\033[0;35m purple \033[0m"echo -e "\033[1;35m light_purple \033[0m"echo -e "\033[0;33m brown \033[0m"echo -e "\033[1;33m yellow \033[0m"echo -e "\033[0;37m light_gray \033[0m"echo -e "\033[1;37m white \033[0m"echo -e "\033[0m none \033[0m"echo -e "\033[0m none \033[0m"echo -e "\033[0m none \033[0m"echo -e "\033[0m none \033[0m"echo -e "\033[0m none \033[0m"echo -e "\033[40;37m 黑底白字 \033[0m"echo -e "\033[41;30m 红底黑字 \033[0m"echo -e "\033[42;34m 绿底蓝字 \033[0m"echo -e "\033[43;34m 黄底蓝字 \033[0m"echo -e "\033[44;30m 蓝底黑字 \033[0m"echo -e "\033[45;30m 紫底黑字 \033[0m"echo -e "\033[46;30m 天蓝底黑字 \033[0m"echo -e "\033[47;34m 白底蓝字 \033[0m"echo -e "\033[4;31m 下划线红字 \033[0m"echo -e "\033[5;31m 红字在闪烁 \033[0m"echo -e "\033[8m 消隐 \033[0m "
效果图如下:
扩展
- 预先定义颜色变量
RED_COLOR='\E[1;31m' YELOW_COLOR='\E[1;33m' BLUE_COLOR='\E[1;34m' RESET='\E[0m'#需要使用echo -eecho -e "${RED_COLOR}===david say red color===${RESET}"echo -e "${YELOW_COLOR}===david say yelow color===${RESET}"echo -e "${BLUE_COLOR}===david say green color===${RESET}"
效果图如下:
如有错误,欢迎指出。
email:dxmdxm1992#gmail.com
blog: csdn magicdavid.top
1 0
- shell脚本输出输出带颜色内容
- shell脚本中echo带颜色输出
- shell脚本输出带颜色字体
- shell脚本输出带颜色字体
- Linux下shell脚本输出带颜色文字
- Linux下Shell脚本输出带颜色文字
- Linux下Shell脚本输出带颜色文字
- Linux下Shell脚本输出带颜色文字
- 如何在Linux下Shell脚本输出带颜色文字
- 让shell脚本中的echo输出带颜色
- 让shell脚本中的echo输出带颜色
- 让shell脚本中的echo输出带颜色
- 让shell脚本中的echo输出带颜色
- linux shell 带颜色输出
- shell脚本颜色打印输出
- shell脚本输出颜色字体
- shell脚本输出颜色字体
- shell脚本颜色打印输出
- 九宫格 回溯算法
- 面试11之以给定值x为基准将链表分割成两部分
- Java动态代理的两种实现方法
- 【推荐】免费论文查重网站
- Java基础学习笔记:(九)简单java类深入
- shell脚本输出输出带颜色内容
- nginx在MAC上的安装、启动、重启和关闭
- 初步认识WebSocket技术
- 贪心之悼念512汶川大地震遇难同胞
- 在Windows上搭建Cocos2d-x 3.0开发环境
- DNS配置:设置Host文件或DNS
- HTML中的<base>标签
- 贪心之删数问题
- Python学习笔记--2