bash中的流程控制语句
qingheluo2016-12-16清河洛228
一、if语句 1、单分支if条件语句:if [ 条件判断式 ];then程序块fi或者if [ 条件判断式 ]then程序块fi2、多分支if条件语句if [ 条件判断式 ]then程序块elif [ 条件判断式 ]then程序块exit n(运行$?时的返回值n,默认0,即认为是正确执行)……else程序块fi二、case多分支判断语句,和if多分支语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系,类似与其他语言中的switch语句。case $变量名 in"值1")如果变量值等于值1时执行的程序块;;"值1")如果变量值等于值1时执行的程序块;;……*...
一、if语句
1、单分支if条件语句:
if [ 条件判断式 ];then
程序块
fi
或者
if [ 条件判断式 ]
then
程序块
fi
2、多分支if条件语句
if [ 条件判断式 ]
then
程序块
elif [ 条件判断式 ]
then
程序块
exit n(运行$?时的返回值n,默认0,即认为是正确执行)
……
else
程序块
fi
二、case多分支判断语句,和if多分支语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系,类似与其他语言中的switch语句。
case $变量名 in
"值1")
如果变量值等于值1时执行的程序块
;;
"值1")
如果变量值等于值1时执行的程序块
;;
……
*)
如果变量值不等于上面所有的值时执行的程序块
;;
esac
三、for循环
1、 for 变量名 in 值1 值2 值3...
do
程序块
done
in后面有几个值(靠空格或者换行判断几个值)就循环几次,每次把一个值赋给程序块执行。
如需要批量解压缩文件,压缩文件都保存在/tmp下,脚本片段:
cd /tmp
ls *.tar.gz > tar.txt
for i in $(cat tar.txt)
do
tar -zxf $i &>/dev/null
done
即可实现批量解压缩。
2、for ((初始值;判断条件;变量变化))
do
程序块
done
四、while循环
while [ 条件判断式 ]
do
程序块
done
五、until循环:until和while的原理相反,until循环时只要条件判断式不成立则一直进行循环并执行循环程序,一旦循环条件为真,则停止循环,使用格式和while相同。