字背景颜色范围: 40--49                   

 40:黑  41:42:绿  43:黄  44:蓝  45:紫  46:深绿  47:白色       

字颜色:

30--39  30:黑 31:红 32:绿 33:黄 34:蓝 35:紫 36:深绿 37:白色       

       

ANSI控制码:

\033[0m   关闭所有属性   

\033[1m   设置高亮度   

\03[4m   下划线   

\033[5m   闪烁   

\033[7m   反显   

\033[8m   消隐   

\033[30m   --   \033[37m   设置前景色   

\033[40m   --   \033[47m   设置背景色   

\033[nA   光标上移n行   

\03[nB   光标下移n行   

\033[nC   光标右移n行   

\033[nD   光标左移n行   

\033[y;xH设置光标位置   

\033[2J   清屏   

\033[K   清除从光标到行尾的内容   

\033[s   保存光标位置   

\033[u   恢复光标位置   

\033[?25l   隐藏光标   

\33[?25h   显示光标

 

颜色格式设置

\033[字背景颜色;字体颜;闪烁;下划线等等m输出字符串(this is a test !) \033[0m,如

 echo -e "\033[31;5m  this is a test!  \033[0m"


 

 

1.实验打印正三角形:echo -e "\033[31;5m   * \n  * * \n * * * \n* * * * \033[0m"

 

2.用shell脚本动态打印正三角

#!/bin/bash

#author:maoxiong   Date:2016-7-26

read -p "请输入需要打印的等星数: " var

let dNum=var+1

count=1

str="*"

hang=$dNum

isTrue=1

x=0   #去掉首行多余数据/大于0后,即可去掉

while [ $count -le $dNum ]

do

   if [ $x -eq 0 ]

    then

      x=1

   else

   for((j=$hang; j>0; j--))

    do

       echo -n " "    #空格数据循环

    done

   for((i=1; i<$count; i++))

    do

       echo -e -n "\033[31;5m"$str "\033[0m"  #*好数据循环

    done

   fi

   ((count++))

   ((hang--))

   echo ""

done