shell语句中条件判断流程控制

if else 一般来说少量条件不同,进行不同的操作。
case 适用于大量不同条件进行不同动作
for 将所有定义的值都赋予给进程,进行动作
while 只要符合条件就循环 (应用中需要防止自我无限循环)
until 只要不符合条件就循环(应用中需要防止自我无限循环)
#########
if [ 条件判断式 ]
then 条件成立时,执行的程序
elif 另外一个条件成立时,执行的另一个程序
else 否则执行动作
fi
###########
case $变量名 in
“值1”)
如果变量的值等于值1,则执行程序1
;;
“值2”)
如果变量的值等于值2,则执行程序2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac

for 变量 in 值1 值2 值3…
do
程序
done
#####下图是具体实例批量解压缩脚本
#!/bin/bash
cd /lamp
ls *.tar.gz > ls.log
for i in $(cat ls.log)
do
tar -zxf $i &>/dev/null
done
rm -rf /lamp/ls.log
##首先进入到文件夹lamp中,将文件夹下面的所有的文件全部重定向到ls.log备用
其次用for 循环将所有的值都赋予给tar -zxf 并将所有的打印信息丢弃
最后删除中间文件ls.log
##########
while循环是不定循环,也称作条件循环。只要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循环才会停止。这就和for的固定循环不太一样了。

猜你喜欢

转载自blog.csdn.net/tang3827738w/article/details/93415261