for循环,while循环,break跳出循环,continue结束本次循环,exit退出整个脚本

for循环:

1.计算1到100的和html

#!/bin/bash
sum=0
for i in `seq 1 100`
do
    sum=$[$sum+$i]               #核心语句作加减法
done
echo $sum

 

2.列出etc目录下的全部目录shell

#!/bin/bash
cd /etc/                   #进入etc
for a in `ls /etc/`        #for循环ls etc
do
    if [ -d $a ]           #判断是不是目录   $a
    then
        echo $a            #显示$a
        ls $a             #查看$a
    fi
done

 

最多见的for循环bash

[root@aming-01 shell]# for i in `seq 1 3`; do echo $i ;done
1
2
3

 

while循环:

语法: while 条件; do command ; done.spa

每隔30秒检查系统负载,当负载达到10,发一份邮件                    : 冒号  和 ture 是同样的效果3d

#!/bin/bash
while true
do
    load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1`

    if [ $load -gt 10 ]
    then
         /usr/local/sbin/mail.py zhuneianxiang@163.com "load high" "$load"
         #发邮件(发邮件脚本的路径)
    fi
    sleep 30
    #休息三十秒
done

 

 

让用户不断的输入纯数字,才中止换算:code

#!/bin/bash
while :
#while死循环
do
read -p "Please input a number: " n
#用户交互,输入一个数
    if [ -z "$n" ]
    #判断n是否为空,空结束本次循环
    then
    echo "you need input sth."
    continue
    fi
n1=`echo $n|sed 's/[0-9]//g'`
#将n中非数字的部分赋值给n1
    if [ ! -z "$n1" ]
    #判断n1是否为空,不为空,说明不全是数字,continue结束本次循环,为空,break跳出循环
    then
    echo "you just only input numbers."
    continue
    fi
    break
done
echo $n
#打印出输入的数

 

 

break跳出循环:

#!/bin/bash
for i in `seq 1 5`
do
     echo $i
     if [ $i -eq 3 ]
     then
          break
     fi
     echo $i
done
echo aaaaa

 

 continue结束本次循环:

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

 

 

exit退出整个脚本:

 

 

扩展
select用法 http://www.apelearn.com/bbs/thread-7950-1-1.htmlhtm

相关文章
相关标签/搜索