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