Shell脚本输出带有颜色特效的字体

echo命令

我们都知道echo命令是系统中用来输出文本的一个命令, 我们来看下echo命令的参数

  • -e : 激活转义字符

    使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

    • \a 发出警告声;
    • \b 删除前一个字符;
    • \c 最后不加上换行符号;
    • \f 换行但光标仍旧停留在原来的位置;
    • \n 换行且光标移至行首;
    • \r 光标移至行首,但不换行;
    • \t 插入tab;
    • \v 与\f相同;
    • \ 插入\字符;
    • \nnn 插入nnn(八进制)所代表的ASCII字符;

文本颜色列表

echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;30m 红底黑字 \033[0m"
echo -e "\033[42;34m 绿底蓝字 \033[0m"
echo -e "\033[43;34m 黄底蓝字 \033[0m"
echo -e "\033[44;30m 蓝底黑字 \033[0m"
echo -e "\033[45;30m 紫底黑字 \033[0m"
echo -e "\033[46;30m 天蓝底黑字 \033[0m"
echo -e "\033[47;34m 白底蓝字 \033[0m"

封装成函数

function special_echo(){
  if [ $# -ge 2 ];then
     PARAM_NUM=$1
     PARAM_MSG=$2
  else
    special_echo 3 "参数异常"
  fi
  case $PARAM_NUM in
        1)
        echo -e "\033[44;30m ${PARAM_MSG} \033[0m"
        # ;;相当于Java中的break
        ;;
        2)
        echo -e "\033[35;40;1m ${PARAM_MSG}\033[0m"
        ;;
        3)
        echo -e "\033[43;34m ${PARAM_MSG}\033[0m"
        ;;
        
        # *)就相当于Java中的default
        *)
        echo ${PARAM_MSG}
        ;;
   esac
}

special_echo 1 "xxx"
special_echo 2 "xxx"
special_echo 3 "xxx"

猜你喜欢

转载自blog.csdn.net/F1004145107/article/details/106196119
今日推荐