[Shell 编程]控制输出文字的颜色
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 -cyan “Start service … ” -red “[" -green "OK" -red "]” -n
输出应该是类似下面颜色的:
Start service … [OK]
注意:
1、如果在字串中有空格,跳格(TAB)以及用”\”转义过的转义字串,应当将其包含在双引号中。
如果非要写个不带双引号的语句,例如上面的例子,可以写成:
cfont -cyan Start -b service -b … -b -red [ -green OK -red ] -n
2、记得最后写完之后,如果需要换行,请在行尾加上”-n”,我不会主动帮你换行的。
如果你习惯于将一整行信息在一个语句内写完而不喜欢自己换行,那么在函数最后两行(也就是绿颜色的那两行)的”done”后面自己加个”echo”吧
3、向各位推荐余晟师傅翻译的《精通正则表达式》一书,正在印刷中,大约九月份就可以见到实体书。
4、在C里也是一样嘀:
printf(”\033[33m”);
printf(”Message X\n”);
printf(”\033[0m”);
函数就不写了。
Sorry, comments for this entry are closed at this time.