一,条件判断语句
条件判断语句是一种最简单的流程控制语句。该语句使得程序根据不同的条件来执行不同的程序分支。
二,条件判断语句结构
1,单分支结构
if <条件表达式>
then
指令
fi
第二种语法:
if <条件表达式>;then
指令
fi
2,双分支结构
if <条件表达式>
then
指令序列1
else
指令序列2
fi
3,多分支结构
当整个if elif语句结构中的第1个条件表达式为真,则执行第1个then子句中的语句statement1;否则,继续下面的判断。如果条件表达式2的值为真,则执行第2个then子句中的语句,以此类推。如果所有的条件表达式的值都为假,则执行最后的else子句中的语句。最后是if elif结构的结束标志fi。
if 条件表达式1
then
命令序列1
elif 条件表达式2
then
命令序列2
elif 条件表达式3
then
命令序列3
else
命令序列n
fi
三,复合指令
复合指令:即一串命令。
()和{}都是对一串的命令进行执行。
()和{}的相同点和不同点
-
相同点:
()和{}都是把一串的命令放在括号里面,如果命令在一行命令之间用;号隔开; ()和{}括号里面某个命令的重定向只影响该命令,但括号外的重定向则会被括号里的所有命令影响。
-
不同点
()只是对一串命令重新开一个子shell进行执行,{}对一串命令在当前shell执行;
()最后一个命令可以不用分号,{}最后一个命令要用分号;
()里的第一个命令和左边括号不必有空格,{}的第一个命令和左括号之间必须要有一个空格。
四,exit退出程序
1,exit语句的基本作用:终止Shell程序的执行。除此之外,exit语句还可以带一个可选的参数,用来指定程序退出时的状态码。
2,exit语句的基本语法:exit status(其中,status参数表示退出状态,该参数是一个整数值,其取值范围为0~255。与其他的Shell命令一样,Shell程序的退出状态也储存在系统变量$?中,因此,用户可以通过该变量取得Shell程序返回给父进程的退出状态码)。
五,多条件判断语句case
case语句会将该变量的值与每个值相比较,如果与某个值相等,则执行该value所对应的一组语句。当遇到“;;”符号时,就跳出case语句,执行esac语句后面的语句。如果没有任何一个值与variable的值相匹配,则执行*后面的一组语句。
case 变量名 in
值1)
指令1
;;
值2)
指令2
;;
值3)
指令3
;;
*)
默认
esac