Linux中的流程控制语句
一、if语句
1.单分支if条件语句
格式:if [ 条件判断式 ]
then
程序
fi
注意:1.在Linux中是以if开头,fi结尾。其他地方一般是{开头,}结尾。
2.在条件判断式的两边,必须要有空格
实例:判断根分区使用大小是否大于百分之1,如果大于则提示。
2.双分支if条件语句
格式:if [ 条件判断式 ]
then
条件成立时,执行程序
else
条件不成立时,执行另一个程序
fi
实例1:备份/home/zrq目录
实例2:通过脚本判断apache是否启动,如果没有启动就启动后记录。
3.多分支if条件语句
格式: if [ 条件判断式1 ]
then
当条件判断式1成立时,执行程序1
exit ? #注意:这里exit是跳出此次程序并报出?的返回值,这里?是你自己输入的。如果echo $? 可查看当前返回值
elif [ 条件片段式2 ]
then
当条件判断式2成立时,执行程序2
exit? #注意:这里exit是跳出此次程序并报出?的返回值,这里?是你自己输入的。如果echo $? 可查看当前返回值
...省略更多条件
else
当所有条件均不成立时,最后执行此程序
fi
注意:每个elif后面都是有then的,只有else后面才没有
实例:通过脚本判断文件类型。
二、case语句
解析:case 语句和if...elif...else语句一样,是多分支条件语句,但是case只能判断一种条件关系,if可以判断多种条件语句。
格式: case $变量名 in
"值1")
如果变量的值等于值1,则执行程序1
;;
"值2")
如果变量的值等于值2,则执行程序2
;;
。。。
省略其他分支
*)
如果变量的值都不等于以上分支,则执行此程序
;;
esac
注意:case的结尾是esac,并且每个程序段有两个分号;;。
三、for循环
语法1. for 变量名 in 值1 值2 值3 ...
do
程序
done
注意:这里,会把值1赋予变量,然后执行一遍程序,然后再把值2赋予变量在执行程序,如此反复直到最后一个值执行完毕。而且只要值与值之间有空格或者换行符,就会认为是一个值了
实例:
语法2: for ((初始值;循环控制条件;变化量))
do
程序
done
实例:
四、while循环与until循环
解析:while循环是不定性循环,只要条件满足就会一直循环,直到条件判断式不成立。这跟for的固定循环就不一样了。
格式:while [ 条件判断式 ]
do
程序
done
注意:只要条件判断式满足,就会一直执行。
实例:
解析:until循环是不定性循环,与while相反只要条件不满足就会一直循环,一旦条件判断式不成立。则停止。
格式:until [ 条件判断式 ]
do
程序
done
注意:只要条件判断式不满足,就会一直执行。
实例: