Shell编程如何使用case条件结构语句?case条件结构语句用法

    /    2019-01-29

1. case语法结构

case "字符串变量" in 
  值1)
     指令1
     ;;
  值2)
     指令2
     ;;
  值*)
     指令
esac

2. case与if的对比

case书写方式

case $name in
  值1) 
      指令1
      ;;
  值2) 
      指令2
      ;;
   *) 
      指令
esac

if书写方式

if [ $name == "值1" ]
  then 
    指令1
elif [ $name == "值2" ]
  then 
    指令2
else
    指令    
fi

3. case值的书写方式

apple)
      echo -e "$RED_COLOR apple $RES"
      ;;

也可以这样写,输入2种格式找同一个选项

apple|APPLE)
      echo -e "$RED_COLOR apple $RES"
      ;;

4. case语句小结

case语句就相当于多分支的if语句。case语句的优势是更规范、易读。

case语句适合变量的值少,且为固定的数字或字符串集合。(1,2,3)或(start,stop,restart)。

系统服务启动脚本传参的判断多用case语句,多参考rpcbind/nfs/crond脚本;菜单脚本也可以使用case。

5. 写脚本规范及注意事项

(1)变量名称不能和系统已经存在的命令等重复 free == > Free

(2)判断单位要统一

(3)脚本一行不超过一屏的一半。

(4)能写成变量的内容尽量写成变量

(0)

分享至