case语句及脚本选项进阶详解
面向过程程序设计语言中的控制流(即程序当中的语句)默认是顺序执行的。
程序设计语言的控制结构一共有三类:
1,顺序结构
2,选择结构
(1)if语句
->单分支的if语句
格式:if condition1;then
expression
...
fi
->双分支的if语句
格式:if condition1;then
expression
...
else
expression
...
fi
->多分支的if语句
格式:if condition1;then
expression
...
elif condition2;then
expression
...
else
expression
...
fi
多分支的if语句,执行效率比较低,因为它是一个条件接着一个条件比较的。
(2)case语句
我们选择结构还有第二个语句,也就是我们的case语句,比多分支的if语句,结构更明晰,使用更简单,执行效率更高的选择结构语句。
用法格式:case(关键字) SWITCH(变量,这里引用的是变量的值,而不是变量本身) in
而我们变量的值会有以下几种情况
value 1)->这不是条件,而是变量的值,变量的第一种值
expression
...;;(没一个选项都得以双分号结尾)
value 2)->第二种值
expression
...;;
...
*)
expression
...
esac
value的值可以有多个
练习:写一个脚本,要求
让用户从键盘键入内容,然后用我们的脚本来判断用户键入了什么内容并显示出来
键入了数字就显示数字,键入了小写字母就显示小写字母,键入了大写字母就显示大写字母
脚本内容:
脚本执行结果:
练习:写一个脚本,要求
该脚本只接收这四个参数其中之一,start,stop,restart,status
然后显示相对应的内容
脚本内容:
脚本执行结果:
练习:写一个脚本,要求
可以接收选项及参数,而后能获取每一个选项及参数,并能根据选项及参数做出特定的操作
比如->boke3.sh --add tom,jerry --del tom,blair -v|--verbose -h|--help
脚本内容:
脚本执行结果:
练习:写一个脚本,要求
脚本名为boke4.sh
脚本的用法格式为showlogged.sh -v -c -h|--help
其中-h选项只能单独使用,用于显示帮助信息;
-c选项时,显示当前系统上登录的所有用户数,如果同时使用了-v选项,则既显示同时登录的用户数,又显示登录的用户的相关信息。
脚本内容:
脚本执行结果:
3,循环结构
for语句
本文出自 “菜鸟的技术文档” 博客,请务必保留此出处http://zhubo.blog.51cto.com/11395641/1831868
原文:http://zhubo.blog.51cto.com/11395641/1831868