if语句从上至下按照顺序依次判定执行 格式如下:
if [ ] ##判定条件(如果) then ##那么 elif ###重新的一次判定(又如果) then ##那么 ....... else ##否则(可以添加也可以不加) fi ###结尾(倒写)
注意:其中的elif不限个数,可以多次判定
步骤如下 编写脚本让输入指定内容时输出不同,否则报错 执行如下 注意 if语句是按照顺序依次比对执行,有先后顺序的区别(排在后边的后比对,消耗时间) 修改脚本如下: 当输入为第一个判定条件:linux时监控执行过程只匹配一次 当为第二个判定条件时,发现先比对第一个,比对不上,比对第二个成功,输出 当为第三个条件时 当为例外的判定条件时
case语句列出所有情况,执行时只比对一次,按照条件匹配,不按顺序执行,比对成功直接跳转,在考虑大小写混用时直接比列列举,不用专设条件,省时
格式
case $1 in ### westos|WESTSO|wEstos|WESTos) ##条件1并且列举各种大小写情况 echo linux ##执行内容 ;; ##分隔符 linux) ##条件二 echo westos ##执行内容 ;; ###分割符 *) ###例外条件(相当于否则) echo error esac##结尾(倒写)
修改脚本如下:(与if语句比对照应) 输入条件一时 输入为大写时也执行 输入条件二时,也是直接跳转,不比对条件1
条件三 例外条件 由此可见case语句的跳转判定比if更高效。