首页 > 服务器学习 > Linux > bash中的流程控制语句
2016
12-16

bash中的流程控制语句

一、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相同。

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。