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)能写成变量的内容尽量写成变量