#!/bin/bash
function display_method(){
clearDisplayMetho=0
if [ $displayMethod -eq 0 ]; then
echo -e "\033[${color};${backgroup_color}m ${message} \033[${clearDisplayMetho}m"
else
echo -e "\033[${color};${backgroup_color};${displayMethod}m ${message} \033[${clearDisplayMetho}m"
fi
}
function echo_color() {
#displayMethodArr:
# 0 终端默认设置
# 1 高亮显示
# 4 使用下划线
# 5 闪烁
# 7 反白显示
# 8 不可见
msg="Example: echo_color {red|green|yellow|blue|fuchsia|cyan|white} string [{0|1|4|5|7|8}]"
if [[ -z $2 && $1 ]]; then
echo_color red $msg
fi
displayMethodArr=[0,1,4,5,7,8]
if [ ! -z $3 ]; then
echo "${displayMethodArr[@]}"|grep -wq $3&& displayMethod=$3 || displayMethod=0
else
displayMethod=0
fi
red=31
green=32
yellow=33
blue=34
fuchsia=35
cyan=36
white=37
backgroup_color=40
message=$2
color=`eval echo '$'"${1}"`
# echo 'color' ${color}
case $1 in
red)
display_method ${color} ${backgroup_color} ${message}
;;
green)
display_method ${color} ${backgroup_color} ${message}
;;
yellow)
display_method ${color} ${backgroup_color} ${message}
;;
blue)
display_method ${color} ${backgroup_color} ${message}
;;
fuchsia)
display_method ${color} ${backgroup_color} ${message}
;;
cyan)
display_method ${color} ${backgroup_color} ${message}
;;
white)
display_method ${color} ${backgroup_color} ${message}
;;
*)
echo_color red $msg
esac
}
IFS_OLD=$IFS #?当前值保存
IFS=$'\n'
echo_color $1 $2 $3
IFS=$IFS_OLD #恢?之前保存的值