多路分支语句
多路分支语句case可以用于实现多路分支,类型C语言中的switch case,其语法如下:
case 字符串变量 in #case语句只能检测字符串变量
模式1)
命令表1
;;#退出case语句用双分号
模式2|模式3) #若多个模式共用则使用|分隔
命令表2
;;
模式4)
命令表3
;;
……
*)#通配符*表示所有其他模式,相当于C语言中的default
命令表n
;;#最后一个模式的双分号可以省略
esac #结束符
示例:检测从命令行传参str1或str2或str3,并输出传参结果
#!/bin/bash
if [ $# -eq 0 ] #检测命令行参数的个数,即是否通过命令行输入参数
then
echo"No arguments"
exit
fi
case $1 in
str1)
echo"You input str1"
;;
str2)
echo"You input str2"
;;
str3)
echo"You input str3"
;;
*)
echo"You input else"
;;
esac