for 순환, while 순환, break 순환, contine 이 순환 을 끝내 고 exit 가 이 스 크 립 트 를 종료 합 니 다.

for 순환
형식:

for  i in `seq 1 3`        //表示从1-3,运行3次,i=1,i=2,i=3;
do
    echo $i                     //每次执行输出 变量i的值
done                            //for循环结尾

혹시

for i in `seq 1 3`; do echo $i; done

사용자 정의 순환 횟수

a=20
for i in `seq 1 $a`; do echo $i; done

a=`cat /etc/passwd |wc -l`        //统计passwd有多少行,赋予值给a
for i in `seq 1 $a`; do echo $i; done                //根据a的值来循环多少次,并输出当前循环值;

while 순환
문법:
while 조건;do 구문;done

while :                //死循环
do
    load=`w|head -1|awk -F 'load average:' '{print $2}'|cut -d. -f1`            //显示w的第一行,并在上面截取load average:为分隔符的第2行,并截取.前面数字,显示第一行的数字
    if [ $load -gt 10 ]            //比较结果是否大于10
    then
            top|mail -s "load is high: $load" [email protected]           //执行发邮件
    fi
    sleep 30                                                                                        //等待30秒,再继续循环
done

break 점프 순환
강제 점프 순환 break
#!/bin/bash
for i in `seq 1 5`                    //循环1到5
do
    echo $i                                //先输出i值
    if [ $i == 3 ]                          //判断i如果等于3
    then
            break                             //跳出循环
    fi
    echo $i                                    //输出i值
done
echo "exit"                                    //循环结束后在执行输出exit

계속 이번 순환 종료
continue 아래 코드 를 무시 하고 다음 순환 을 직접 진행 합 니 다.

#!/bin/bash
for i in `seq 1 5`
do
    echo $i
    if [ $i == 3 ]
    then
        continue
    fi
    echo $i
done

exit 이번 스 크 립 트 종료
스 크 립 트 를 직접 종료 합 니 다. 뒤의 스 크 립 트 는 모두 무시 합 니 다.
#!/bin/bash
for i in `seq 1 5`
do
    echo $i
    if [ $i == 3 ]
    then
        exit
    fi
    echo $i
done
echo "aaa"

좋은 웹페이지 즐겨찾기