break和continue
break:提前退出循环。
continue:提前结束本轮循环,进入下轮循环。
1.求1至100中奇数的和
#!/bin/bash
let SUM=0
let I=0
while [ $I -lt 100 ];do
if [ $[$I%2] == 0 ];then
continue
fi[r]
let SUM+=$I
done
echo $SUM
2.输入文件名,判断文件是否存在。
#!/bin/bash
while :;do
read -p "filename"FNAME
[$FNAME == 'quit'] && break
if [ -e $FNAME];then
echo "file exists!"
continue
else
echo "file not exist!"
fi
done
3.判定/etc/passwd中用户的shell为bash,uid大于600,并显示用户名,
#!/bin/bash
FILE=/etc/passwd
let I=0
while read LINE;do
[`echo $LINE |awk -FL: '{print $3}'` -ge 600] && contuine
[`echo $LINE |awk -F : '{print $7}'` == '/bin/bash'] && awk -F: '{print $1}' && let I++
[$I -eq 6] && break
done < $FILE
4.判定一个之否定的bash脚本中是否有语法错误,如果有错误,则提醒用户输入Q或者quit直接退出,其他任何按键都可以vim打开该脚本。如果用户通过vim打开编辑后仍有错误,则重复上边内容,否则则正常关闭退出。
#!/bin/bash
until bash -n $1 &> /dev/null;do
read -p "error,Q or q exit,other to edit" CHOICE
case in
Q|q)
echo "quit"
break
exit 7
;;
*)
vim $1
;;
esca
done