在shell中使用echo命令输出带颜色的文本名称 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键
然后给几个比较强大的脚本函数1 cfont#by zuoyang http://hi.baidu.com/test/cfont(){while (($#!=0))do case $1 in -b) echo -ne " "; ;; -t) echo -ne "\t"; ;; -n) echo -ne "\n"; ;; -black) echo -ne "\033[30m"; ;; -red) echo -ne "\033[31m"; ;; -green) echo -ne "\033[32m"; ;; -yellow) echo -ne "\033[33m"; ;; -blue) echo -ne "\033[34m"; ;; -purple) echo -ne "\033[35m"; ;; -cyan) echo -ne "\033[36m"; ;; -white|-gray) echo -ne "\033[37m"; ;; -reset) echo -ne "\033[0m"; ;; -h|-help|--help) echo "Usage: cfont -color1 message1 -color2message2 ..."; echo "eg: cfont -red [ -blue message1message2 -red ]"; ;; *) echo -ne "$1" ;; esac shiftdone}使用方法是cfont -颜色 字符串...如:cfont -cyan abc注意使用时要换行需要加入 -n 选项。想要恢复默认的要加入 -reset选项。2颜色码表#!/bin/bashT='gYw' # The test textechoecho " default 40m 41m 42m 43m 44m 45m 46m47m"## FGs 为前景(foreground)色, BG 为背景(background)色for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' '1;32m' '33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' ' 36m' '1;36m' ' 37m' '1;37m' do FG=$(echo $FGs|tr -d ' ') echo -en " $FGs \033[$FG $T " for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do echo -en " \033[$FG\033[$BG $T \033[0m" done echodoneecho没了,就这样吧。 如何在脚本文件中控制输出的颜色 (效果不太好)比如echo "Error."我想让Error显示为红色--------------------------echo '^[[40;31m显示内容'注意:^[ 的输入方法是ctrl+v键,再按ESC键第二个 [ 是直接输入 [ 的;前的数字是背景色,后面为前景色背景色:40黑41红42绿43黄44青45蓝46青47白前景色:30黑31红32绿33黄34蓝35紫36青37白http://jianzhouzhao.spaces.live.com/Blog/cns!4231E07B7DE2C479!235.entry(转)google了好久,终于搞明白了怎么输出带颜色的文本。 首先熟悉一下echo命令 名称 echo - 显示一行文本 概要 echo [选项]... [字符串]... 描述 向标准输出输出字符串。 -n 不输出换行符 -e 打开反斜杠ESC转义 -E 取消反斜杠ESC转义 (默认) --help 显示帮助 --version 显示版本 大致就这样吧。 注意要输出颜色必须有 -e 选项。 然后说一下重点:ANSI控制码在输出有颜色文本方面应用。 -e 用来开启echo中的转义 \e 或 \033 来输出Esc符号 设置颜色的格式: \e[背景色;前景色;高亮m 恢复默认为 \e[0m 其中背景色可以被以下数字替换 0 透明(使用终端颜色), 40 黑, 41 红, 42 绿, 43 黄, 44 蓝 45 紫, 46 青绿, 47白(灰) 前景色(也就是文本的颜色)可以被以下数字替换 30 黑 31 红, 32 绿, 33 黄, 34 蓝, 35 紫, 36 青绿, 37 白(灰) 高亮是1,不高亮是0 注意m后面紧跟字符串。 比如 lonelycorn@untbook:~$ echo -e '\033[0;33;1mabc\033[0m' 输出 abc 然后给几个比较强大的脚本函数 1 cfont #by zuoyang http://hi.baidu.com/test/ cfont() { while (($#!=0)) do case $1 in -b) echo -ne " "; ;; -t) echo -ne "\t"; ;; -n) echo -ne "\n"; ;; -black) echo -ne "\033[30m"; ;; -red) echo -ne "\033[31m"; ;; -green) echo -ne "\033[32m"; ;; -yellow) echo -ne "\033[33m"; ;; -blue) echo -ne "\033[34m"; ;; -purple) echo -ne "\033[35m"; ;; -cyan) echo -ne "\033[36m"; ;; -white|-gray) echo -ne "\033[37m"; ;; -reset) echo -ne "\033[0m"; ;; -h|-help|--help) echo "Usage: cfont -color1 message1 -color2 message2 ..."; echo "eg: cfont -red [ -blue message1 message2 -red ]"; ;; *) echo -ne "$1" ;; esac shift done } 使用方法是 cfont -颜色 字符串... 如: cfont -cyan abc 注意使用时要换行需要加入 -n 选项。想要恢复默认的要加入 -reset选项。 2颜色码表 #!/bin/bash T='gYw' # The test text echo echo " default 40m 41m 42m 43m 44m 45m 46m 47m" ## FGs 为前景(foreground)色, BG 为背景(background)色 for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' ' 36m' '1;36m' ' 37m' '1;37m' do FG=$(echo $FGs|tr -d ' ') echo -en " $FGs \033[$FG $T " for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do echo -en " \033[$FG\033[$BG $T \033[0m" done echo done echo 没了,就这样吧。
转载请注明原文地址: https://www.6miu.com/read-2621713.html