系统相关
首页 > 系统相关> > linux shell命令之带颜色的脚本(三)

linux shell命令之带颜色的脚本(三)

作者:互联网

有关颜色的脚本
为了体现错误、警告、完成和普通信息的区别,如下脚本
#color_script2.sh 参数1为消息内容, 参数2为前景色,
参数3为背景色,参数4为特色处理
vi color_script2.sh
#!/bin/bash

#提示用户需要输入的参数内容和个数
echo "The arguments of this script:{Message} {FontColor} {BackColor} {Style}"
echo "first argument:{Message}:Message you want display"
echo "second argument:{FrontColor}: FrontColor will display, values "
echo "third argument: {BackColor}:BackColor will display, values"
echo "forth argument: {style}:style will display, value "

#提示用户输入的第一个命令行参数:想要输入的信息
echo "First argument you want to input:{Message}"
read message

#提示用户输入第二个参数: 前景色颜色或1~8
echo "Second argument you want to input:{FrontColor} will display(Colors) or values(1-8)"
read frontcolor

#判断参数对应的前景色颜色或其对应的编码
case $frontcolor in
1 | black) #前景色:黑色
fStr="30"
;;
2 | red) #前景色:红包
fStr="31"
;;
3 | green) #前景色:绿色
fStr="32"
;;
4 | brown) #前景色:棕色
fStr="33"
;;
5 | blue) #前景色:蓝色
fStr="34"
;;
6 | purple) #前景色:紫色
fStr="35"
;;
7 | cyan) #前景色:青色
fStr="36"
;;
8 | white) #前景色:白色
fStr="37"
;;
*)
fStr="0"
;;
esac

#提示用户输入第三个命令行参数:背景色或1~8
echo "Third argument: you want to input: { BackColor } will display (Colors) or values(1-8)"
read backcolor

#判断参数对应的背景颜色或其对应的编码
case $backcolor in
1 | black) #背景色:黑色
bStr="40"
;;
2 | red) #背景色:红色
bStr="41"
;;
3 | green) #背景色:绿色
bStr="42"
;;
4 | brown) #背景色:棕色
bStr="43"
;;
5 | blue) #背景色:蓝色
bStr="44"
;;
6 | purple) #背景色:紫色
bStr="45"
;;
7 | cyan) #背景色:青色
bStr="46"
;;
8 | white) #背景色:白色
bStr="47"
;;
*)
bStr="0"
;;
esac

#提示用户输入第四个命令行参数:特殊处理
echo "Fourth argument: you want to input {Style}:Style will display( styles ) or value(1~4)"
read style
#判断输入字段对应的字段属性
case $style in
1 | bold) #黑体
sStr="1"
;;
2 | underline) #下画线
sStr="4"
;;
3 | blink) #闪烁
sStr="5"
;;
4 | inverse) #反转
sStr="7"
;;
*)
sStr="0"
;;
esac

#根据输入字段的不同,显示不同的颜色和字体属性的输入字段
if [ ${bStr} -eq 0 ] && [ ${sStr} -eq 0] #背景色和字体属性同量为默认时,字段显示的内容
then
rtnString="\e[${fStr}m"
elif [ ${bStr} -eq 0 ] #背景色为默认属性,字体属性不默认时,字段显示的内容
then
rtnString="\e[${fStr};${sStr}m"
elif [ ${sStr} -eq 0 ]
then
rtnString="\e[${fStr};${bStr}m"
else
rtnString="\e[${fStr};${bStr};${sStr}m"
fi

#输入要显示的字段信息
echo -e "${rtnString} $message\e[m"
exit 0

 

标签:shell,之带,sStr,前景色,linux,echo,背景色,fStr,bStr
来源: https://www.cnblogs.com/zhudaheng123/p/14654344.html