在shell中使用echo命令输出带颜色的文本

来源:互联网 发布:jquery ajax get json 编辑:程序博客网 时间:2024/06/07 22:20


名称
       echo - 显示一行文本

概要
       echo [选项]... [字符串]...

描述
       向标准输出输出字符串。

       -n     不输出换行符

       -e     打开反斜杠ESC转义

       -E     取消反斜杠ESC转义 (默认)

       --help 显示帮助

       --version 显示版本


大致就这样吧。
注意要输出颜色必须有 -e 选项。

然后说一下重点:ANSI控制码在输出有颜色文本方面应用。

-e 用来开启echo中的转义
\e 或 \033 来输出Esc符号
设置颜色的格式: \e[背景色;前景色;高亮m
               \033[背景色;前景色;高亮m
恢复默认为 \e[0m
其中背景色可以被以下数字替换
第一个参数:
0 透明(使用终端颜色),1 高亮 40 黑, 41 红, 42 绿, 43 黄, 44 蓝 45 紫, 46 青绿, 47白(灰)

第二个参数:
前景色(也就是文本的颜色)可以被以下数字替换
30 黑 31 红, 32 绿, 33 黄, 34 蓝, 35 紫, 36 青绿, 37 白(灰)

第三个参数:
高亮是1,不高亮是0

第四个参数为m:
注意m后面紧跟字符串。

实例:
1,输出红色字体 abc,背景色不变,以下三个效果一样
echo -e '\033[0;31;1m abc \033[0m'
echo -e "\e[1;31m     abc \e[0m"
echo -e "\e[0;31;1m   abc \e[0m"

2,输出黄色字体 abc,红色背景色,以下三个效果一样
echo -e '\033[41;33;1m abc \033[0m'
echo -e "\e[41;33m     abc \e[0m"
echo -e "\e[41;33;1m   abc \e[0m"

30 黑 31 红, 32 绿, 33 黄, 34 蓝, 35 紫, 36 青绿, 37 白(灰)
echo -e "\e[1;30m skyapp exist \e[0m" //黑色
echo -e "\e[1;31m skyapp exist \e[0m" //红色
echo -e "\e[1;32m skyapp exist \e[0m" //绿色
echo -e "\e[1;33m skyapp exist \e[0m" //黄色
echo -e "\e[1;34m skyapp exist \e[0m" //蓝色
echo -e "\e[1;35m skyapp exist \e[0m" //紫色
echo -e "\e[1;36m skyapp exist \e[0m" //青绿
echo -e "\e[1;37m skyapp exist \e[0m" //白(灰)

嵌入式中用以下方法:
echo -e "^[[1;30m skyapp exist ^[[0m" //黑色
echo -e "^[[1;31m skyapp exist ^[[0m" //红色
echo -e "^[[1;32m skyapp exist ^[[0m" //绿色
echo -e "^[[1;33m skyapp exist ^[[0m" //黄色
echo -e "^[[1;34m skyapp exist ^[[0m" //蓝色
echo -e "^[[1;35m skyapp exist ^[[0m" //紫色
echo -e "^[[1;36m skyapp exist ^[[0m" //青绿
echo -e "^[[1;37m skyapp exist ^[[0m" //白(灰)
注意:^[  的输入方法是ctrl+v键,再按ESC键

原创粉丝点击