给脚本添加颜色

1.将颜色定义为变量

RED_COLOR="\e[1;31m"

COLOR_END="\e[0m"

FRUIT="apple"

echo -e "the color is ${RED_COLOR}${FRUIT}${COLOR_END}"

一定要记得-e,不然颜色不会生效

 

2./etc/init.d/functions中有这样用,不过我没成功

BOOTUP=color

   RES_COL=60

   MOVE_TO_COL="echo -en \\033[${RES_COL}G"

   SETCOLOR_SUCCESS="echo -en \\033[1;32m"

   SETCOLOR_FAILURE="echo -en \\033[1;31m"

   SETCOLOR_WARNING="echo -en \\033[1;33m"

   SETCOLOR_NORMAL="echo -en \\033[0;39m"

   LOGLEVEL=1

……

echo_success() {

  ["$BOOTUP" = "color" ] && $MOVE_TO_COL

  echo-n "["

  ["$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS                                            

  echo-n $"  OK  "

  ["$BOOTUP" = "color" ] && $SETCOLOR_NORMAL

  echo-n "]"

  echo-ne "\r"

 return 0

}

 

3.利用函数来添加颜色。将负责添加颜色部分代码定义为一个函数,然后调用此函数给需要的字符串、变量等添加颜色。传给函数的第一个、第二个参数为$1,$2,以此类推

 

喵的脚本,除了定义了函数外,还减少了对用户输入颜色的区别,即不区分任一字母的大小写

#!/bin/bash                                                                                

 

add_color(){

RED_COLOR="\e[1;31m"

GREEN_COLOR="\e[1;32m"

COLOR_END="\e[0m"

 

COLOR="$(echo $2 | tr 'A-Z''a-z')"

case "$COLOR" in

   red)

       echo -e "${RED_COLOR}$1${COLOR_END}"

       ;;  

   green)

       echo -e "${GREEN_COLOR}$1${COLOR_END}"

       ;; 

   *) 

       echo "you can only use red or green."

esac

}

 

read -p "please input the content andcolor:" content color                               

add_color ${content} ${color}

该脚本只完成了大体框架,还有很多细节需要完善


你可能感兴趣的:(Shell)